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 "jni.h"
21 #include "JNIHelp.h"
22 #include <android_runtime/AndroidRuntime.h>
23 #include <utils/misc.h>
24
25 #include <assert.h>
26 #include <GLES/gl.h>
27 #include <GLES/glext.h>
28
29 // Work around differences between the generated name and the actual name.
30
31 #define glBlendEquation glBlendEquationOES
32 #define glBlendEquationSeparate glBlendEquationSeparateOES
33 #define glBlendFuncSeparate glBlendFuncSeparateOES
34 #define glGetTexGenfv glGetTexGenfvOES
35 #define glGetTexGeniv glGetTexGenivOES
36 #define glGetTexGenxv glGetTexGenxvOES
37 #define glTexGenf glTexGenfOES
38 #define glTexGenfv glTexGenfvOES
39 #define glTexGeni glTexGeniOES
40 #define glTexGeniv glTexGenivOES
41 #define glTexGenx glTexGenxOES
42 #define glTexGenxv glTexGenxvOES
43
44
45
46 /* special calls implemented in Android's GLES wrapper used to more
47 * efficiently bound-check passed arrays */
48 extern "C" {
49 GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride,
50 const GLvoid *ptr, GLsizei count);
51 GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride,
52 const GLvoid *pointer, GLsizei count);
53 GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type,
54 GLsizei stride, const GLvoid *pointer, GLsizei count);
55 GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type,
56 GLsizei stride, const GLvoid *pointer, GLsizei count);
57 GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type,
58 GLsizei stride, const GLvoid *pointer, GLsizei count);
59 GL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type,
60 GLsizei stride, const GLvoid *pointer, GLsizei count);
61 GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type,
62 GLsizei stride, const GLvoid *pointer, GLsizei count);
63 }
64
65 static int initialized = 0;
66
67 static jclass nioAccessClass;
68 static jclass bufferClass;
69 static jclass G11ImplClass;
70 static jmethodID getBasePointerID;
71 static jmethodID getBaseArrayID;
72 static jmethodID getBaseArrayOffsetID;
73 static jmethodID allowIndirectBuffersID;
74 static jfieldID positionID;
75 static jfieldID limitID;
76 static jfieldID elementSizeShiftID;
77 static jfieldID haveCheckedExtensionsID;
78 static jfieldID have_OES_blend_equation_separateID;
79 static jfieldID have_OES_blend_subtractID;
80 static jfieldID have_OES_framebuffer_objectID;
81 static jfieldID have_OES_texture_cube_mapID;
82
83 /* Cache method IDs each time the class is loaded. */
84
85 static void
nativeClassInit(JNIEnv * _env,jclass glImplClass)86 nativeClassInit(JNIEnv *_env, jclass glImplClass)
87 {
88 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess");
89 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal);
90
91 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
92 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
93
94 jclass g11impClassLocal = _env->FindClass("com/google/android/gles_jni/GLImpl");
95 G11ImplClass = (jclass) _env->NewGlobalRef(g11impClassLocal);
96 haveCheckedExtensionsID = _env->GetFieldID(G11ImplClass, "haveCheckedExtensions", "Z");
97 have_OES_blend_equation_separateID = _env->GetFieldID(G11ImplClass, "have_OES_blend_equation_separate", "Z");
98 have_OES_blend_subtractID = _env->GetFieldID(G11ImplClass, "have_OES_blend_subtract", "Z");
99 have_OES_framebuffer_objectID = _env->GetFieldID(G11ImplClass, "have_OES_framebuffer_object", "Z");
100 have_OES_texture_cube_mapID = _env->GetFieldID(G11ImplClass, "have_OES_texture_cube_map", "Z");
101
102 getBasePointerID = _env->GetStaticMethodID(nioAccessClass,
103 "getBasePointer", "(Ljava/nio/Buffer;)J");
104 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass,
105 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;");
106 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass,
107 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I");
108 allowIndirectBuffersID = _env->GetStaticMethodID(g11impClassLocal,
109 "allowIndirectBuffers", "(Ljava/lang/String;)Z");
110 positionID = _env->GetFieldID(bufferClass, "position", "I");
111 limitID = _env->GetFieldID(bufferClass, "limit", "I");
112 elementSizeShiftID =
113 _env->GetFieldID(bufferClass, "_elementSizeShift", "I");
114 }
115
116 static void *
getPointer(JNIEnv * _env,jobject buffer,jarray * array,jint * remaining,jint * offset)117 getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset)
118 {
119 jint position;
120 jint limit;
121 jint elementSizeShift;
122 jlong pointer;
123
124 position = _env->GetIntField(buffer, positionID);
125 limit = _env->GetIntField(buffer, limitID);
126 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
127 *remaining = (limit - position) << elementSizeShift;
128 pointer = _env->CallStaticLongMethod(nioAccessClass,
129 getBasePointerID, buffer);
130 if (pointer != 0L) {
131 *array = NULL;
132 return (void *) (jint) pointer;
133 }
134
135 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
136 getBaseArrayID, buffer);
137 if (*array == NULL) {
138 return (void*) NULL;
139 }
140 *offset = _env->CallStaticIntMethod(nioAccessClass,
141 getBaseArrayOffsetID, buffer);
142
143 return NULL;
144 }
145
146 static void
releasePointer(JNIEnv * _env,jarray array,void * data,jboolean commit)147 releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
148 {
149 _env->ReleasePrimitiveArrayCritical(array, data,
150 commit ? 0 : JNI_ABORT);
151 }
152
153 extern "C" {
154 extern char* __progname;
155 }
156
157 static bool
allowIndirectBuffers(JNIEnv * _env)158 allowIndirectBuffers(JNIEnv *_env) {
159 static jint sIndirectBufferCompatability;
160 if (sIndirectBufferCompatability == 0) {
161 jobject appName = _env->NewStringUTF(::__progname);
162 sIndirectBufferCompatability = _env->CallStaticBooleanMethod(G11ImplClass, allowIndirectBuffersID, appName) ? 2 : 1;
163 }
164 return sIndirectBufferCompatability == 2;
165 }
166
167 static void *
getDirectBufferPointer(JNIEnv * _env,jobject buffer)168 getDirectBufferPointer(JNIEnv *_env, jobject buffer) {
169 if (!buffer) {
170 return NULL;
171 }
172 void* buf = _env->GetDirectBufferAddress(buffer);
173 if (buf) {
174 jint position = _env->GetIntField(buffer, positionID);
175 jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
176 buf = ((char*) buf) + (position << elementSizeShift);
177 } else {
178 if (allowIndirectBuffers(_env)) {
179 jarray array = 0;
180 jint remaining;
181 jint offset;
182 buf = getPointer(_env, buffer, &array, &remaining, &offset);
183 if (array) {
184 releasePointer(_env, array, buf, 0);
185 }
186 buf = buf + offset;
187 } else {
188 jniThrowException(_env, "java/lang/IllegalArgumentException",
189 "Must use a native order direct Buffer");
190 }
191 }
192 return buf;
193 }
194
195 static int
getNumCompressedTextureFormats()196 getNumCompressedTextureFormats() {
197 int numCompressedTextureFormats = 0;
198 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats);
199 return numCompressedTextureFormats;
200 }
201
202 // Check if the extension at the head of pExtensions is pExtension. Note that pExtensions is
203 // terminated by either 0 or space, while pExtension is terminated by 0.
204
205 static bool
extensionEqual(const GLubyte * pExtensions,const GLubyte * pExtension)206 extensionEqual(const GLubyte* pExtensions, const GLubyte* pExtension) {
207 while (true) {
208 char a = *pExtensions++;
209 char b = *pExtension++;
210 bool aEnd = a == '\0' || a == ' ';
211 bool bEnd = b == '\0';
212 if ( aEnd || bEnd) {
213 return aEnd == bEnd;
214 }
215 if ( a != b ) {
216 return false;
217 }
218 }
219 }
220
221 static const GLubyte*
nextExtension(const GLubyte * pExtensions)222 nextExtension(const GLubyte* pExtensions) {
223 while (true) {
224 char a = *pExtensions++;
225 if ( a == '\0') {
226 return pExtensions-1;
227 } else if ( a == ' ') {
228 return pExtensions;
229 }
230 }
231 }
232
233 static bool
checkForExtension(const GLubyte * pExtensions,const GLubyte * pExtension)234 checkForExtension(const GLubyte* pExtensions, const GLubyte* pExtension) {
235 for (;*pExtensions != '\0'; pExtensions = nextExtension(pExtensions)) {
236 if (extensionEqual(pExtensions, pExtension)) {
237 return true;
238 }
239 }
240 return false;
241 }
242
243 static bool
supportsExtension(JNIEnv * _env,jobject impl,jfieldID fieldId)244 supportsExtension(JNIEnv *_env, jobject impl, jfieldID fieldId) {
245 if (!_env->GetBooleanField(impl, haveCheckedExtensionsID)) {
246 _env->SetBooleanField(impl, haveCheckedExtensionsID, true);
247 const GLubyte* sExtensions = glGetString(GL_EXTENSIONS);
248 _env->SetBooleanField(impl, have_OES_blend_equation_separateID,
249 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_equation_separate"));
250 _env->SetBooleanField(impl, have_OES_blend_subtractID,
251 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_subtract"));
252 _env->SetBooleanField(impl, have_OES_framebuffer_objectID,
253 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_framebuffer_object"));
254 _env->SetBooleanField(impl, have_OES_texture_cube_mapID,
255 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_texture_cube_map"));
256 }
257 return _env->GetBooleanField(impl, fieldId);
258 }
259
260 // --------------------------------------------------------------------------
261 /* void glActiveTexture ( GLenum texture ) */
262 static void
android_glActiveTexture__I(JNIEnv * _env,jobject _this,jint texture)263 android_glActiveTexture__I
264 (JNIEnv *_env, jobject _this, jint texture) {
265 glActiveTexture(
266 (GLenum)texture
267 );
268 }
269
270 /* void glAlphaFunc ( GLenum func, GLclampf ref ) */
271 static void
android_glAlphaFunc__IF(JNIEnv * _env,jobject _this,jint func,jfloat ref)272 android_glAlphaFunc__IF
273 (JNIEnv *_env, jobject _this, jint func, jfloat ref) {
274 glAlphaFunc(
275 (GLenum)func,
276 (GLclampf)ref
277 );
278 }
279
280 /* void glAlphaFuncx ( GLenum func, GLclampx ref ) */
281 static void
android_glAlphaFuncx__II(JNIEnv * _env,jobject _this,jint func,jint ref)282 android_glAlphaFuncx__II
283 (JNIEnv *_env, jobject _this, jint func, jint ref) {
284 glAlphaFuncx(
285 (GLenum)func,
286 (GLclampx)ref
287 );
288 }
289
290 /* void glBindTexture ( GLenum target, GLuint texture ) */
291 static void
android_glBindTexture__II(JNIEnv * _env,jobject _this,jint target,jint texture)292 android_glBindTexture__II
293 (JNIEnv *_env, jobject _this, jint target, jint texture) {
294 glBindTexture(
295 (GLenum)target,
296 (GLuint)texture
297 );
298 }
299
300 /* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */
301 static void
android_glBlendFunc__II(JNIEnv * _env,jobject _this,jint sfactor,jint dfactor)302 android_glBlendFunc__II
303 (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) {
304 glBlendFunc(
305 (GLenum)sfactor,
306 (GLenum)dfactor
307 );
308 }
309
310 /* void glClear ( GLbitfield mask ) */
311 static void
android_glClear__I(JNIEnv * _env,jobject _this,jint mask)312 android_glClear__I
313 (JNIEnv *_env, jobject _this, jint mask) {
314 glClear(
315 (GLbitfield)mask
316 );
317 }
318
319 /* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */
320 static void
android_glClearColor__FFFF(JNIEnv * _env,jobject _this,jfloat red,jfloat green,jfloat blue,jfloat alpha)321 android_glClearColor__FFFF
322 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) {
323 glClearColor(
324 (GLclampf)red,
325 (GLclampf)green,
326 (GLclampf)blue,
327 (GLclampf)alpha
328 );
329 }
330
331 /* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */
332 static void
android_glClearColorx__IIII(JNIEnv * _env,jobject _this,jint red,jint green,jint blue,jint alpha)333 android_glClearColorx__IIII
334 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
335 glClearColorx(
336 (GLclampx)red,
337 (GLclampx)green,
338 (GLclampx)blue,
339 (GLclampx)alpha
340 );
341 }
342
343 /* void glClearDepthf ( GLclampf depth ) */
344 static void
android_glClearDepthf__F(JNIEnv * _env,jobject _this,jfloat depth)345 android_glClearDepthf__F
346 (JNIEnv *_env, jobject _this, jfloat depth) {
347 glClearDepthf(
348 (GLclampf)depth
349 );
350 }
351
352 /* void glClearDepthx ( GLclampx depth ) */
353 static void
android_glClearDepthx__I(JNIEnv * _env,jobject _this,jint depth)354 android_glClearDepthx__I
355 (JNIEnv *_env, jobject _this, jint depth) {
356 glClearDepthx(
357 (GLclampx)depth
358 );
359 }
360
361 /* void glClearStencil ( GLint s ) */
362 static void
android_glClearStencil__I(JNIEnv * _env,jobject _this,jint s)363 android_glClearStencil__I
364 (JNIEnv *_env, jobject _this, jint s) {
365 glClearStencil(
366 (GLint)s
367 );
368 }
369
370 /* void glClientActiveTexture ( GLenum texture ) */
371 static void
android_glClientActiveTexture__I(JNIEnv * _env,jobject _this,jint texture)372 android_glClientActiveTexture__I
373 (JNIEnv *_env, jobject _this, jint texture) {
374 glClientActiveTexture(
375 (GLenum)texture
376 );
377 }
378
379 /* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */
380 static void
android_glColor4f__FFFF(JNIEnv * _env,jobject _this,jfloat red,jfloat green,jfloat blue,jfloat alpha)381 android_glColor4f__FFFF
382 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) {
383 glColor4f(
384 (GLfloat)red,
385 (GLfloat)green,
386 (GLfloat)blue,
387 (GLfloat)alpha
388 );
389 }
390
391 /* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */
392 static void
android_glColor4x__IIII(JNIEnv * _env,jobject _this,jint red,jint green,jint blue,jint alpha)393 android_glColor4x__IIII
394 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
395 glColor4x(
396 (GLfixed)red,
397 (GLfixed)green,
398 (GLfixed)blue,
399 (GLfixed)alpha
400 );
401 }
402
403 /* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */
404 static void
android_glColorMask__ZZZZ(JNIEnv * _env,jobject _this,jboolean red,jboolean green,jboolean blue,jboolean alpha)405 android_glColorMask__ZZZZ
406 (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) {
407 glColorMask(
408 (GLboolean)red,
409 (GLboolean)green,
410 (GLboolean)blue,
411 (GLboolean)alpha
412 );
413 }
414
415 /* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
416 static void
android_glColorPointerBounds__IIILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jobject pointer_buf,jint remaining)417 android_glColorPointerBounds__IIILjava_nio_Buffer_2I
418 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
419 jarray _array = (jarray) 0;
420 jint _bufferOffset = (jint) 0;
421 jint _remaining;
422 GLvoid *pointer = (GLvoid *) 0;
423
424 if (pointer_buf) {
425 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
426 if ( ! pointer ) {
427 return;
428 }
429 }
430 glColorPointerBounds(
431 (GLint)size,
432 (GLenum)type,
433 (GLsizei)stride,
434 (GLvoid *)pointer,
435 (GLsizei)remaining
436 );
437 }
438
439 /* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */
440 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)441 android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2
442 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) {
443 jarray _array = (jarray) 0;
444 jint _bufferOffset = (jint) 0;
445 jint _remaining;
446 GLvoid *data = (GLvoid *) 0;
447
448 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset);
449 if (data == NULL) {
450 char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
451 data = (GLvoid *) (_dataBase + _bufferOffset);
452 }
453 glCompressedTexImage2D(
454 (GLenum)target,
455 (GLint)level,
456 (GLenum)internalformat,
457 (GLsizei)width,
458 (GLsizei)height,
459 (GLint)border,
460 (GLsizei)imageSize,
461 (GLvoid *)data
462 );
463 if (_array) {
464 releasePointer(_env, _array, data, JNI_FALSE);
465 }
466 }
467
468 /* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */
469 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)470 android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2
471 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) {
472 jarray _array = (jarray) 0;
473 jint _bufferOffset = (jint) 0;
474 jint _remaining;
475 GLvoid *data = (GLvoid *) 0;
476
477 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset);
478 if (data == NULL) {
479 char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
480 data = (GLvoid *) (_dataBase + _bufferOffset);
481 }
482 glCompressedTexSubImage2D(
483 (GLenum)target,
484 (GLint)level,
485 (GLint)xoffset,
486 (GLint)yoffset,
487 (GLsizei)width,
488 (GLsizei)height,
489 (GLenum)format,
490 (GLsizei)imageSize,
491 (GLvoid *)data
492 );
493 if (_array) {
494 releasePointer(_env, _array, data, JNI_FALSE);
495 }
496 }
497
498 /* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */
499 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)500 android_glCopyTexImage2D__IIIIIIII
501 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) {
502 glCopyTexImage2D(
503 (GLenum)target,
504 (GLint)level,
505 (GLenum)internalformat,
506 (GLint)x,
507 (GLint)y,
508 (GLsizei)width,
509 (GLsizei)height,
510 (GLint)border
511 );
512 }
513
514 /* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */
515 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)516 android_glCopyTexSubImage2D__IIIIIIII
517 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) {
518 glCopyTexSubImage2D(
519 (GLenum)target,
520 (GLint)level,
521 (GLint)xoffset,
522 (GLint)yoffset,
523 (GLint)x,
524 (GLint)y,
525 (GLsizei)width,
526 (GLsizei)height
527 );
528 }
529
530 /* void glCullFace ( GLenum mode ) */
531 static void
android_glCullFace__I(JNIEnv * _env,jobject _this,jint mode)532 android_glCullFace__I
533 (JNIEnv *_env, jobject _this, jint mode) {
534 glCullFace(
535 (GLenum)mode
536 );
537 }
538
539 /* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */
540 static void
android_glDeleteTextures__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray textures_ref,jint offset)541 android_glDeleteTextures__I_3II
542 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) {
543 jint _exception = 0;
544 const char * _exceptionType = NULL;
545 const char * _exceptionMessage = NULL;
546 GLuint *textures_base = (GLuint *) 0;
547 jint _remaining;
548 GLuint *textures = (GLuint *) 0;
549
550 if (!textures_ref) {
551 _exception = 1;
552 _exceptionType = "java/lang/IllegalArgumentException";
553 _exceptionMessage = "textures == null";
554 goto exit;
555 }
556 if (offset < 0) {
557 _exception = 1;
558 _exceptionType = "java/lang/IllegalArgumentException";
559 _exceptionMessage = "offset < 0";
560 goto exit;
561 }
562 _remaining = _env->GetArrayLength(textures_ref) - offset;
563 if (_remaining < n) {
564 _exception = 1;
565 _exceptionType = "java/lang/IllegalArgumentException";
566 _exceptionMessage = "length - offset < n < needed";
567 goto exit;
568 }
569 textures_base = (GLuint *)
570 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0);
571 textures = textures_base + offset;
572
573 glDeleteTextures(
574 (GLsizei)n,
575 (GLuint *)textures
576 );
577
578 exit:
579 if (textures_base) {
580 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base,
581 JNI_ABORT);
582 }
583 if (_exception) {
584 jniThrowException(_env, _exceptionType, _exceptionMessage);
585 }
586 }
587
588 /* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */
589 static void
android_glDeleteTextures__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject textures_buf)590 android_glDeleteTextures__ILjava_nio_IntBuffer_2
591 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) {
592 jint _exception = 0;
593 const char * _exceptionType = NULL;
594 const char * _exceptionMessage = NULL;
595 jarray _array = (jarray) 0;
596 jint _bufferOffset = (jint) 0;
597 jint _remaining;
598 GLuint *textures = (GLuint *) 0;
599
600 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset);
601 if (_remaining < n) {
602 _exception = 1;
603 _exceptionType = "java/lang/IllegalArgumentException";
604 _exceptionMessage = "remaining() < n < needed";
605 goto exit;
606 }
607 if (textures == NULL) {
608 char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
609 textures = (GLuint *) (_texturesBase + _bufferOffset);
610 }
611 glDeleteTextures(
612 (GLsizei)n,
613 (GLuint *)textures
614 );
615
616 exit:
617 if (_array) {
618 releasePointer(_env, _array, textures, JNI_FALSE);
619 }
620 if (_exception) {
621 jniThrowException(_env, _exceptionType, _exceptionMessage);
622 }
623 }
624
625 /* void glDepthFunc ( GLenum func ) */
626 static void
android_glDepthFunc__I(JNIEnv * _env,jobject _this,jint func)627 android_glDepthFunc__I
628 (JNIEnv *_env, jobject _this, jint func) {
629 glDepthFunc(
630 (GLenum)func
631 );
632 }
633
634 /* void glDepthMask ( GLboolean flag ) */
635 static void
android_glDepthMask__Z(JNIEnv * _env,jobject _this,jboolean flag)636 android_glDepthMask__Z
637 (JNIEnv *_env, jobject _this, jboolean flag) {
638 glDepthMask(
639 (GLboolean)flag
640 );
641 }
642
643 /* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */
644 static void
android_glDepthRangef__FF(JNIEnv * _env,jobject _this,jfloat zNear,jfloat zFar)645 android_glDepthRangef__FF
646 (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) {
647 glDepthRangef(
648 (GLclampf)zNear,
649 (GLclampf)zFar
650 );
651 }
652
653 /* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */
654 static void
android_glDepthRangex__II(JNIEnv * _env,jobject _this,jint zNear,jint zFar)655 android_glDepthRangex__II
656 (JNIEnv *_env, jobject _this, jint zNear, jint zFar) {
657 glDepthRangex(
658 (GLclampx)zNear,
659 (GLclampx)zFar
660 );
661 }
662
663 /* void glDisable ( GLenum cap ) */
664 static void
android_glDisable__I(JNIEnv * _env,jobject _this,jint cap)665 android_glDisable__I
666 (JNIEnv *_env, jobject _this, jint cap) {
667 glDisable(
668 (GLenum)cap
669 );
670 }
671
672 /* void glDisableClientState ( GLenum array ) */
673 static void
android_glDisableClientState__I(JNIEnv * _env,jobject _this,jint array)674 android_glDisableClientState__I
675 (JNIEnv *_env, jobject _this, jint array) {
676 glDisableClientState(
677 (GLenum)array
678 );
679 }
680
681 /* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */
682 static void
android_glDrawArrays__III(JNIEnv * _env,jobject _this,jint mode,jint first,jint count)683 android_glDrawArrays__III
684 (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) {
685 glDrawArrays(
686 (GLenum)mode,
687 (GLint)first,
688 (GLsizei)count
689 );
690 }
691
692 /* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */
693 static void
android_glDrawElements__IIILjava_nio_Buffer_2(JNIEnv * _env,jobject _this,jint mode,jint count,jint type,jobject indices_buf)694 android_glDrawElements__IIILjava_nio_Buffer_2
695 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) {
696 jint _exception = 0;
697 const char * _exceptionType = NULL;
698 const char * _exceptionMessage = NULL;
699 jarray _array = (jarray) 0;
700 jint _bufferOffset = (jint) 0;
701 jint _remaining;
702 GLvoid *indices = (GLvoid *) 0;
703
704 indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset);
705 if (_remaining < count) {
706 _exception = 1;
707 _exceptionType = "java/lang/ArrayIndexOutOfBoundsException";
708 _exceptionMessage = "remaining() < count < needed";
709 goto exit;
710 }
711 if (indices == NULL) {
712 char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
713 indices = (GLvoid *) (_indicesBase + _bufferOffset);
714 }
715 glDrawElements(
716 (GLenum)mode,
717 (GLsizei)count,
718 (GLenum)type,
719 (GLvoid *)indices
720 );
721
722 exit:
723 if (_array) {
724 releasePointer(_env, _array, indices, JNI_FALSE);
725 }
726 if (_exception) {
727 jniThrowException(_env, _exceptionType, _exceptionMessage);
728 }
729 }
730
731 /* void glEnable ( GLenum cap ) */
732 static void
android_glEnable__I(JNIEnv * _env,jobject _this,jint cap)733 android_glEnable__I
734 (JNIEnv *_env, jobject _this, jint cap) {
735 glEnable(
736 (GLenum)cap
737 );
738 }
739
740 /* void glEnableClientState ( GLenum array ) */
741 static void
android_glEnableClientState__I(JNIEnv * _env,jobject _this,jint array)742 android_glEnableClientState__I
743 (JNIEnv *_env, jobject _this, jint array) {
744 glEnableClientState(
745 (GLenum)array
746 );
747 }
748
749 /* void glFinish ( void ) */
750 static void
android_glFinish__(JNIEnv * _env,jobject _this)751 android_glFinish__
752 (JNIEnv *_env, jobject _this) {
753 glFinish();
754 }
755
756 /* void glFlush ( void ) */
757 static void
android_glFlush__(JNIEnv * _env,jobject _this)758 android_glFlush__
759 (JNIEnv *_env, jobject _this) {
760 glFlush();
761 }
762
763 /* void glFogf ( GLenum pname, GLfloat param ) */
764 static void
android_glFogf__IF(JNIEnv * _env,jobject _this,jint pname,jfloat param)765 android_glFogf__IF
766 (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
767 glFogf(
768 (GLenum)pname,
769 (GLfloat)param
770 );
771 }
772
773 /* void glFogfv ( GLenum pname, const GLfloat *params ) */
774 static void
android_glFogfv__I_3FI(JNIEnv * _env,jobject _this,jint pname,jfloatArray params_ref,jint offset)775 android_glFogfv__I_3FI
776 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
777 jint _exception = 0;
778 const char * _exceptionType = NULL;
779 const char * _exceptionMessage = NULL;
780 GLfloat *params_base = (GLfloat *) 0;
781 jint _remaining;
782 GLfloat *params = (GLfloat *) 0;
783
784 if (!params_ref) {
785 _exception = 1;
786 _exceptionType = "java/lang/IllegalArgumentException";
787 _exceptionMessage = "params == null";
788 goto exit;
789 }
790 if (offset < 0) {
791 _exception = 1;
792 _exceptionType = "java/lang/IllegalArgumentException";
793 _exceptionMessage = "offset < 0";
794 goto exit;
795 }
796 _remaining = _env->GetArrayLength(params_ref) - offset;
797 int _needed;
798 switch (pname) {
799 #if defined(GL_FOG_MODE)
800 case GL_FOG_MODE:
801 #endif // defined(GL_FOG_MODE)
802 #if defined(GL_FOG_DENSITY)
803 case GL_FOG_DENSITY:
804 #endif // defined(GL_FOG_DENSITY)
805 #if defined(GL_FOG_START)
806 case GL_FOG_START:
807 #endif // defined(GL_FOG_START)
808 #if defined(GL_FOG_END)
809 case GL_FOG_END:
810 #endif // defined(GL_FOG_END)
811 _needed = 1;
812 break;
813 #if defined(GL_FOG_COLOR)
814 case GL_FOG_COLOR:
815 #endif // defined(GL_FOG_COLOR)
816 _needed = 4;
817 break;
818 default:
819 _needed = 1;
820 break;
821 }
822 if (_remaining < _needed) {
823 _exception = 1;
824 _exceptionType = "java/lang/IllegalArgumentException";
825 _exceptionMessage = "length - offset < needed";
826 goto exit;
827 }
828 params_base = (GLfloat *)
829 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
830 params = params_base + offset;
831
832 glFogfv(
833 (GLenum)pname,
834 (GLfloat *)params
835 );
836
837 exit:
838 if (params_base) {
839 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
840 JNI_ABORT);
841 }
842 if (_exception) {
843 jniThrowException(_env, _exceptionType, _exceptionMessage);
844 }
845 }
846
847 /* void glFogfv ( GLenum pname, const GLfloat *params ) */
848 static void
android_glFogfv__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)849 android_glFogfv__ILjava_nio_FloatBuffer_2
850 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
851 jint _exception = 0;
852 const char * _exceptionType = NULL;
853 const char * _exceptionMessage = NULL;
854 jarray _array = (jarray) 0;
855 jint _bufferOffset = (jint) 0;
856 jint _remaining;
857 GLfloat *params = (GLfloat *) 0;
858
859 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
860 int _needed;
861 switch (pname) {
862 #if defined(GL_FOG_MODE)
863 case GL_FOG_MODE:
864 #endif // defined(GL_FOG_MODE)
865 #if defined(GL_FOG_DENSITY)
866 case GL_FOG_DENSITY:
867 #endif // defined(GL_FOG_DENSITY)
868 #if defined(GL_FOG_START)
869 case GL_FOG_START:
870 #endif // defined(GL_FOG_START)
871 #if defined(GL_FOG_END)
872 case GL_FOG_END:
873 #endif // defined(GL_FOG_END)
874 _needed = 1;
875 break;
876 #if defined(GL_FOG_COLOR)
877 case GL_FOG_COLOR:
878 #endif // defined(GL_FOG_COLOR)
879 _needed = 4;
880 break;
881 default:
882 _needed = 1;
883 break;
884 }
885 if (_remaining < _needed) {
886 _exception = 1;
887 _exceptionType = "java/lang/IllegalArgumentException";
888 _exceptionMessage = "remaining() < needed";
889 goto exit;
890 }
891 if (params == NULL) {
892 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
893 params = (GLfloat *) (_paramsBase + _bufferOffset);
894 }
895 glFogfv(
896 (GLenum)pname,
897 (GLfloat *)params
898 );
899
900 exit:
901 if (_array) {
902 releasePointer(_env, _array, params, JNI_FALSE);
903 }
904 if (_exception) {
905 jniThrowException(_env, _exceptionType, _exceptionMessage);
906 }
907 }
908
909 /* void glFogx ( GLenum pname, GLfixed param ) */
910 static void
android_glFogx__II(JNIEnv * _env,jobject _this,jint pname,jint param)911 android_glFogx__II
912 (JNIEnv *_env, jobject _this, jint pname, jint param) {
913 glFogx(
914 (GLenum)pname,
915 (GLfixed)param
916 );
917 }
918
919 /* void glFogxv ( GLenum pname, const GLfixed *params ) */
920 static void
android_glFogxv__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray params_ref,jint offset)921 android_glFogxv__I_3II
922 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
923 jint _exception = 0;
924 const char * _exceptionType = NULL;
925 const char * _exceptionMessage = NULL;
926 GLfixed *params_base = (GLfixed *) 0;
927 jint _remaining;
928 GLfixed *params = (GLfixed *) 0;
929
930 if (!params_ref) {
931 _exception = 1;
932 _exceptionType = "java/lang/IllegalArgumentException";
933 _exceptionMessage = "params == null";
934 goto exit;
935 }
936 if (offset < 0) {
937 _exception = 1;
938 _exceptionType = "java/lang/IllegalArgumentException";
939 _exceptionMessage = "offset < 0";
940 goto exit;
941 }
942 _remaining = _env->GetArrayLength(params_ref) - offset;
943 int _needed;
944 switch (pname) {
945 #if defined(GL_FOG_MODE)
946 case GL_FOG_MODE:
947 #endif // defined(GL_FOG_MODE)
948 #if defined(GL_FOG_DENSITY)
949 case GL_FOG_DENSITY:
950 #endif // defined(GL_FOG_DENSITY)
951 #if defined(GL_FOG_START)
952 case GL_FOG_START:
953 #endif // defined(GL_FOG_START)
954 #if defined(GL_FOG_END)
955 case GL_FOG_END:
956 #endif // defined(GL_FOG_END)
957 _needed = 1;
958 break;
959 #if defined(GL_FOG_COLOR)
960 case GL_FOG_COLOR:
961 #endif // defined(GL_FOG_COLOR)
962 _needed = 4;
963 break;
964 default:
965 _needed = 1;
966 break;
967 }
968 if (_remaining < _needed) {
969 _exception = 1;
970 _exceptionType = "java/lang/IllegalArgumentException";
971 _exceptionMessage = "length - offset < needed";
972 goto exit;
973 }
974 params_base = (GLfixed *)
975 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
976 params = params_base + offset;
977
978 glFogxv(
979 (GLenum)pname,
980 (GLfixed *)params
981 );
982
983 exit:
984 if (params_base) {
985 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
986 JNI_ABORT);
987 }
988 if (_exception) {
989 jniThrowException(_env, _exceptionType, _exceptionMessage);
990 }
991 }
992
993 /* void glFogxv ( GLenum pname, const GLfixed *params ) */
994 static void
android_glFogxv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)995 android_glFogxv__ILjava_nio_IntBuffer_2
996 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
997 jint _exception = 0;
998 const char * _exceptionType = NULL;
999 const char * _exceptionMessage = NULL;
1000 jarray _array = (jarray) 0;
1001 jint _bufferOffset = (jint) 0;
1002 jint _remaining;
1003 GLfixed *params = (GLfixed *) 0;
1004
1005 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
1006 int _needed;
1007 switch (pname) {
1008 #if defined(GL_FOG_MODE)
1009 case GL_FOG_MODE:
1010 #endif // defined(GL_FOG_MODE)
1011 #if defined(GL_FOG_DENSITY)
1012 case GL_FOG_DENSITY:
1013 #endif // defined(GL_FOG_DENSITY)
1014 #if defined(GL_FOG_START)
1015 case GL_FOG_START:
1016 #endif // defined(GL_FOG_START)
1017 #if defined(GL_FOG_END)
1018 case GL_FOG_END:
1019 #endif // defined(GL_FOG_END)
1020 _needed = 1;
1021 break;
1022 #if defined(GL_FOG_COLOR)
1023 case GL_FOG_COLOR:
1024 #endif // defined(GL_FOG_COLOR)
1025 _needed = 4;
1026 break;
1027 default:
1028 _needed = 1;
1029 break;
1030 }
1031 if (_remaining < _needed) {
1032 _exception = 1;
1033 _exceptionType = "java/lang/IllegalArgumentException";
1034 _exceptionMessage = "remaining() < needed";
1035 goto exit;
1036 }
1037 if (params == NULL) {
1038 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
1039 params = (GLfixed *) (_paramsBase + _bufferOffset);
1040 }
1041 glFogxv(
1042 (GLenum)pname,
1043 (GLfixed *)params
1044 );
1045
1046 exit:
1047 if (_array) {
1048 releasePointer(_env, _array, params, JNI_FALSE);
1049 }
1050 if (_exception) {
1051 jniThrowException(_env, _exceptionType, _exceptionMessage);
1052 }
1053 }
1054
1055 /* void glFrontFace ( GLenum mode ) */
1056 static void
android_glFrontFace__I(JNIEnv * _env,jobject _this,jint mode)1057 android_glFrontFace__I
1058 (JNIEnv *_env, jobject _this, jint mode) {
1059 glFrontFace(
1060 (GLenum)mode
1061 );
1062 }
1063
1064 /* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
1065 static void
android_glFrustumf__FFFFFF(JNIEnv * _env,jobject _this,jfloat left,jfloat right,jfloat bottom,jfloat top,jfloat zNear,jfloat zFar)1066 android_glFrustumf__FFFFFF
1067 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
1068 glFrustumf(
1069 (GLfloat)left,
1070 (GLfloat)right,
1071 (GLfloat)bottom,
1072 (GLfloat)top,
1073 (GLfloat)zNear,
1074 (GLfloat)zFar
1075 );
1076 }
1077
1078 /* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
1079 static void
android_glFrustumx__IIIIII(JNIEnv * _env,jobject _this,jint left,jint right,jint bottom,jint top,jint zNear,jint zFar)1080 android_glFrustumx__IIIIII
1081 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
1082 glFrustumx(
1083 (GLfixed)left,
1084 (GLfixed)right,
1085 (GLfixed)bottom,
1086 (GLfixed)top,
1087 (GLfixed)zNear,
1088 (GLfixed)zFar
1089 );
1090 }
1091
1092 /* void glGenTextures ( GLsizei n, GLuint *textures ) */
1093 static void
android_glGenTextures__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray textures_ref,jint offset)1094 android_glGenTextures__I_3II
1095 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) {
1096 jint _exception = 0;
1097 const char * _exceptionType = NULL;
1098 const char * _exceptionMessage = NULL;
1099 GLuint *textures_base = (GLuint *) 0;
1100 jint _remaining;
1101 GLuint *textures = (GLuint *) 0;
1102
1103 if (!textures_ref) {
1104 _exception = 1;
1105 _exceptionType = "java/lang/IllegalArgumentException";
1106 _exceptionMessage = "textures == null";
1107 goto exit;
1108 }
1109 if (offset < 0) {
1110 _exception = 1;
1111 _exceptionType = "java/lang/IllegalArgumentException";
1112 _exceptionMessage = "offset < 0";
1113 goto exit;
1114 }
1115 _remaining = _env->GetArrayLength(textures_ref) - offset;
1116 if (_remaining < n) {
1117 _exception = 1;
1118 _exceptionType = "java/lang/IllegalArgumentException";
1119 _exceptionMessage = "length - offset < n < needed";
1120 goto exit;
1121 }
1122 textures_base = (GLuint *)
1123 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0);
1124 textures = textures_base + offset;
1125
1126 glGenTextures(
1127 (GLsizei)n,
1128 (GLuint *)textures
1129 );
1130
1131 exit:
1132 if (textures_base) {
1133 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base,
1134 _exception ? JNI_ABORT: 0);
1135 }
1136 if (_exception) {
1137 jniThrowException(_env, _exceptionType, _exceptionMessage);
1138 }
1139 }
1140
1141 /* void glGenTextures ( GLsizei n, GLuint *textures ) */
1142 static void
android_glGenTextures__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject textures_buf)1143 android_glGenTextures__ILjava_nio_IntBuffer_2
1144 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) {
1145 jint _exception = 0;
1146 const char * _exceptionType = NULL;
1147 const char * _exceptionMessage = NULL;
1148 jarray _array = (jarray) 0;
1149 jint _bufferOffset = (jint) 0;
1150 jint _remaining;
1151 GLuint *textures = (GLuint *) 0;
1152
1153 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset);
1154 if (_remaining < n) {
1155 _exception = 1;
1156 _exceptionType = "java/lang/IllegalArgumentException";
1157 _exceptionMessage = "remaining() < n < needed";
1158 goto exit;
1159 }
1160 if (textures == NULL) {
1161 char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
1162 textures = (GLuint *) (_texturesBase + _bufferOffset);
1163 }
1164 glGenTextures(
1165 (GLsizei)n,
1166 (GLuint *)textures
1167 );
1168
1169 exit:
1170 if (_array) {
1171 releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE);
1172 }
1173 if (_exception) {
1174 jniThrowException(_env, _exceptionType, _exceptionMessage);
1175 }
1176 }
1177
1178 /* GLenum glGetError ( void ) */
1179 static jint
android_glGetError__(JNIEnv * _env,jobject _this)1180 android_glGetError__
1181 (JNIEnv *_env, jobject _this) {
1182 GLenum _returnValue;
1183 _returnValue = glGetError();
1184 return _returnValue;
1185 }
1186
1187 /* void glGetIntegerv ( GLenum pname, GLint *params ) */
1188 static void
android_glGetIntegerv__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray params_ref,jint offset)1189 android_glGetIntegerv__I_3II
1190 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
1191 jint _exception = 0;
1192 const char * _exceptionType = NULL;
1193 const char * _exceptionMessage = NULL;
1194 GLint *params_base = (GLint *) 0;
1195 jint _remaining;
1196 GLint *params = (GLint *) 0;
1197
1198 if (!params_ref) {
1199 _exception = 1;
1200 _exceptionType = "java/lang/IllegalArgumentException";
1201 _exceptionMessage = "params == null";
1202 goto exit;
1203 }
1204 if (offset < 0) {
1205 _exception = 1;
1206 _exceptionType = "java/lang/IllegalArgumentException";
1207 _exceptionMessage = "offset < 0";
1208 goto exit;
1209 }
1210 _remaining = _env->GetArrayLength(params_ref) - offset;
1211 int _needed;
1212 switch (pname) {
1213 #if defined(GL_ALPHA_BITS)
1214 case GL_ALPHA_BITS:
1215 #endif // defined(GL_ALPHA_BITS)
1216 #if defined(GL_ALPHA_TEST_FUNC)
1217 case GL_ALPHA_TEST_FUNC:
1218 #endif // defined(GL_ALPHA_TEST_FUNC)
1219 #if defined(GL_ALPHA_TEST_REF)
1220 case GL_ALPHA_TEST_REF:
1221 #endif // defined(GL_ALPHA_TEST_REF)
1222 #if defined(GL_BLEND_DST)
1223 case GL_BLEND_DST:
1224 #endif // defined(GL_BLEND_DST)
1225 #if defined(GL_BLUE_BITS)
1226 case GL_BLUE_BITS:
1227 #endif // defined(GL_BLUE_BITS)
1228 #if defined(GL_COLOR_ARRAY_BUFFER_BINDING)
1229 case GL_COLOR_ARRAY_BUFFER_BINDING:
1230 #endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING)
1231 #if defined(GL_COLOR_ARRAY_SIZE)
1232 case GL_COLOR_ARRAY_SIZE:
1233 #endif // defined(GL_COLOR_ARRAY_SIZE)
1234 #if defined(GL_COLOR_ARRAY_STRIDE)
1235 case GL_COLOR_ARRAY_STRIDE:
1236 #endif // defined(GL_COLOR_ARRAY_STRIDE)
1237 #if defined(GL_COLOR_ARRAY_TYPE)
1238 case GL_COLOR_ARRAY_TYPE:
1239 #endif // defined(GL_COLOR_ARRAY_TYPE)
1240 #if defined(GL_CULL_FACE)
1241 case GL_CULL_FACE:
1242 #endif // defined(GL_CULL_FACE)
1243 #if defined(GL_DEPTH_BITS)
1244 case GL_DEPTH_BITS:
1245 #endif // defined(GL_DEPTH_BITS)
1246 #if defined(GL_DEPTH_CLEAR_VALUE)
1247 case GL_DEPTH_CLEAR_VALUE:
1248 #endif // defined(GL_DEPTH_CLEAR_VALUE)
1249 #if defined(GL_DEPTH_FUNC)
1250 case GL_DEPTH_FUNC:
1251 #endif // defined(GL_DEPTH_FUNC)
1252 #if defined(GL_DEPTH_WRITEMASK)
1253 case GL_DEPTH_WRITEMASK:
1254 #endif // defined(GL_DEPTH_WRITEMASK)
1255 #if defined(GL_FOG_DENSITY)
1256 case GL_FOG_DENSITY:
1257 #endif // defined(GL_FOG_DENSITY)
1258 #if defined(GL_FOG_END)
1259 case GL_FOG_END:
1260 #endif // defined(GL_FOG_END)
1261 #if defined(GL_FOG_MODE)
1262 case GL_FOG_MODE:
1263 #endif // defined(GL_FOG_MODE)
1264 #if defined(GL_FOG_START)
1265 case GL_FOG_START:
1266 #endif // defined(GL_FOG_START)
1267 #if defined(GL_FRONT_FACE)
1268 case GL_FRONT_FACE:
1269 #endif // defined(GL_FRONT_FACE)
1270 #if defined(GL_GREEN_BITS)
1271 case GL_GREEN_BITS:
1272 #endif // defined(GL_GREEN_BITS)
1273 #if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
1274 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES:
1275 #endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
1276 #if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
1277 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES:
1278 #endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
1279 #if defined(GL_LIGHT_MODEL_COLOR_CONTROL)
1280 case GL_LIGHT_MODEL_COLOR_CONTROL:
1281 #endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL)
1282 #if defined(GL_LIGHT_MODEL_LOCAL_VIEWER)
1283 case GL_LIGHT_MODEL_LOCAL_VIEWER:
1284 #endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER)
1285 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
1286 case GL_LIGHT_MODEL_TWO_SIDE:
1287 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
1288 #if defined(GL_LINE_SMOOTH_HINT)
1289 case GL_LINE_SMOOTH_HINT:
1290 #endif // defined(GL_LINE_SMOOTH_HINT)
1291 #if defined(GL_LINE_WIDTH)
1292 case GL_LINE_WIDTH:
1293 #endif // defined(GL_LINE_WIDTH)
1294 #if defined(GL_LOGIC_OP_MODE)
1295 case GL_LOGIC_OP_MODE:
1296 #endif // defined(GL_LOGIC_OP_MODE)
1297 #if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
1298 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES:
1299 #endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
1300 #if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
1301 case GL_MATRIX_INDEX_ARRAY_SIZE_OES:
1302 #endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
1303 #if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
1304 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES:
1305 #endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
1306 #if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
1307 case GL_MATRIX_INDEX_ARRAY_TYPE_OES:
1308 #endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
1309 #if defined(GL_MATRIX_MODE)
1310 case GL_MATRIX_MODE:
1311 #endif // defined(GL_MATRIX_MODE)
1312 #if defined(GL_MAX_CLIP_PLANES)
1313 case GL_MAX_CLIP_PLANES:
1314 #endif // defined(GL_MAX_CLIP_PLANES)
1315 #if defined(GL_MAX_ELEMENTS_INDICES)
1316 case GL_MAX_ELEMENTS_INDICES:
1317 #endif // defined(GL_MAX_ELEMENTS_INDICES)
1318 #if defined(GL_MAX_ELEMENTS_VERTICES)
1319 case GL_MAX_ELEMENTS_VERTICES:
1320 #endif // defined(GL_MAX_ELEMENTS_VERTICES)
1321 #if defined(GL_MAX_LIGHTS)
1322 case GL_MAX_LIGHTS:
1323 #endif // defined(GL_MAX_LIGHTS)
1324 #if defined(GL_MAX_MODELVIEW_STACK_DEPTH)
1325 case GL_MAX_MODELVIEW_STACK_DEPTH:
1326 #endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH)
1327 #if defined(GL_MAX_PALETTE_MATRICES_OES)
1328 case GL_MAX_PALETTE_MATRICES_OES:
1329 #endif // defined(GL_MAX_PALETTE_MATRICES_OES)
1330 #if defined(GL_MAX_PROJECTION_STACK_DEPTH)
1331 case GL_MAX_PROJECTION_STACK_DEPTH:
1332 #endif // defined(GL_MAX_PROJECTION_STACK_DEPTH)
1333 #if defined(GL_MAX_TEXTURE_SIZE)
1334 case GL_MAX_TEXTURE_SIZE:
1335 #endif // defined(GL_MAX_TEXTURE_SIZE)
1336 #if defined(GL_MAX_TEXTURE_STACK_DEPTH)
1337 case GL_MAX_TEXTURE_STACK_DEPTH:
1338 #endif // defined(GL_MAX_TEXTURE_STACK_DEPTH)
1339 #if defined(GL_MAX_TEXTURE_UNITS)
1340 case GL_MAX_TEXTURE_UNITS:
1341 #endif // defined(GL_MAX_TEXTURE_UNITS)
1342 #if defined(GL_MAX_VERTEX_UNITS_OES)
1343 case GL_MAX_VERTEX_UNITS_OES:
1344 #endif // defined(GL_MAX_VERTEX_UNITS_OES)
1345 #if defined(GL_MODELVIEW_STACK_DEPTH)
1346 case GL_MODELVIEW_STACK_DEPTH:
1347 #endif // defined(GL_MODELVIEW_STACK_DEPTH)
1348 #if defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
1349 case GL_NORMAL_ARRAY_BUFFER_BINDING:
1350 #endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
1351 #if defined(GL_NORMAL_ARRAY_STRIDE)
1352 case GL_NORMAL_ARRAY_STRIDE:
1353 #endif // defined(GL_NORMAL_ARRAY_STRIDE)
1354 #if defined(GL_NORMAL_ARRAY_TYPE)
1355 case GL_NORMAL_ARRAY_TYPE:
1356 #endif // defined(GL_NORMAL_ARRAY_TYPE)
1357 #if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
1358 case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
1359 #endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
1360 #if defined(GL_PACK_ALIGNMENT)
1361 case GL_PACK_ALIGNMENT:
1362 #endif // defined(GL_PACK_ALIGNMENT)
1363 #if defined(GL_PERSPECTIVE_CORRECTION_HINT)
1364 case GL_PERSPECTIVE_CORRECTION_HINT:
1365 #endif // defined(GL_PERSPECTIVE_CORRECTION_HINT)
1366 #if defined(GL_POINT_SIZE)
1367 case GL_POINT_SIZE:
1368 #endif // defined(GL_POINT_SIZE)
1369 #if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
1370 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES:
1371 #endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
1372 #if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
1373 case GL_POINT_SIZE_ARRAY_STRIDE_OES:
1374 #endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
1375 #if defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
1376 case GL_POINT_SIZE_ARRAY_TYPE_OES:
1377 #endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
1378 #if defined(GL_POINT_SMOOTH_HINT)
1379 case GL_POINT_SMOOTH_HINT:
1380 #endif // defined(GL_POINT_SMOOTH_HINT)
1381 #if defined(GL_POLYGON_OFFSET_FACTOR)
1382 case GL_POLYGON_OFFSET_FACTOR:
1383 #endif // defined(GL_POLYGON_OFFSET_FACTOR)
1384 #if defined(GL_POLYGON_OFFSET_UNITS)
1385 case GL_POLYGON_OFFSET_UNITS:
1386 #endif // defined(GL_POLYGON_OFFSET_UNITS)
1387 #if defined(GL_PROJECTION_STACK_DEPTH)
1388 case GL_PROJECTION_STACK_DEPTH:
1389 #endif // defined(GL_PROJECTION_STACK_DEPTH)
1390 #if defined(GL_RED_BITS)
1391 case GL_RED_BITS:
1392 #endif // defined(GL_RED_BITS)
1393 #if defined(GL_SHADE_MODEL)
1394 case GL_SHADE_MODEL:
1395 #endif // defined(GL_SHADE_MODEL)
1396 #if defined(GL_STENCIL_BITS)
1397 case GL_STENCIL_BITS:
1398 #endif // defined(GL_STENCIL_BITS)
1399 #if defined(GL_STENCIL_CLEAR_VALUE)
1400 case GL_STENCIL_CLEAR_VALUE:
1401 #endif // defined(GL_STENCIL_CLEAR_VALUE)
1402 #if defined(GL_STENCIL_FAIL)
1403 case GL_STENCIL_FAIL:
1404 #endif // defined(GL_STENCIL_FAIL)
1405 #if defined(GL_STENCIL_FUNC)
1406 case GL_STENCIL_FUNC:
1407 #endif // defined(GL_STENCIL_FUNC)
1408 #if defined(GL_STENCIL_PASS_DEPTH_FAIL)
1409 case GL_STENCIL_PASS_DEPTH_FAIL:
1410 #endif // defined(GL_STENCIL_PASS_DEPTH_FAIL)
1411 #if defined(GL_STENCIL_PASS_DEPTH_PASS)
1412 case GL_STENCIL_PASS_DEPTH_PASS:
1413 #endif // defined(GL_STENCIL_PASS_DEPTH_PASS)
1414 #if defined(GL_STENCIL_REF)
1415 case GL_STENCIL_REF:
1416 #endif // defined(GL_STENCIL_REF)
1417 #if defined(GL_STENCIL_VALUE_MASK)
1418 case GL_STENCIL_VALUE_MASK:
1419 #endif // defined(GL_STENCIL_VALUE_MASK)
1420 #if defined(GL_STENCIL_WRITEMASK)
1421 case GL_STENCIL_WRITEMASK:
1422 #endif // defined(GL_STENCIL_WRITEMASK)
1423 #if defined(GL_SUBPIXEL_BITS)
1424 case GL_SUBPIXEL_BITS:
1425 #endif // defined(GL_SUBPIXEL_BITS)
1426 #if defined(GL_TEXTURE_BINDING_2D)
1427 case GL_TEXTURE_BINDING_2D:
1428 #endif // defined(GL_TEXTURE_BINDING_2D)
1429 #if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
1430 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING:
1431 #endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
1432 #if defined(GL_TEXTURE_COORD_ARRAY_SIZE)
1433 case GL_TEXTURE_COORD_ARRAY_SIZE:
1434 #endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE)
1435 #if defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
1436 case GL_TEXTURE_COORD_ARRAY_STRIDE:
1437 #endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
1438 #if defined(GL_TEXTURE_COORD_ARRAY_TYPE)
1439 case GL_TEXTURE_COORD_ARRAY_TYPE:
1440 #endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE)
1441 #if defined(GL_TEXTURE_STACK_DEPTH)
1442 case GL_TEXTURE_STACK_DEPTH:
1443 #endif // defined(GL_TEXTURE_STACK_DEPTH)
1444 #if defined(GL_UNPACK_ALIGNMENT)
1445 case GL_UNPACK_ALIGNMENT:
1446 #endif // defined(GL_UNPACK_ALIGNMENT)
1447 #if defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
1448 case GL_VERTEX_ARRAY_BUFFER_BINDING:
1449 #endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
1450 #if defined(GL_VERTEX_ARRAY_SIZE)
1451 case GL_VERTEX_ARRAY_SIZE:
1452 #endif // defined(GL_VERTEX_ARRAY_SIZE)
1453 #if defined(GL_VERTEX_ARRAY_STRIDE)
1454 case GL_VERTEX_ARRAY_STRIDE:
1455 #endif // defined(GL_VERTEX_ARRAY_STRIDE)
1456 #if defined(GL_VERTEX_ARRAY_TYPE)
1457 case GL_VERTEX_ARRAY_TYPE:
1458 #endif // defined(GL_VERTEX_ARRAY_TYPE)
1459 #if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
1460 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES:
1461 #endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
1462 #if defined(GL_WEIGHT_ARRAY_SIZE_OES)
1463 case GL_WEIGHT_ARRAY_SIZE_OES:
1464 #endif // defined(GL_WEIGHT_ARRAY_SIZE_OES)
1465 #if defined(GL_WEIGHT_ARRAY_STRIDE_OES)
1466 case GL_WEIGHT_ARRAY_STRIDE_OES:
1467 #endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES)
1468 #if defined(GL_WEIGHT_ARRAY_TYPE_OES)
1469 case GL_WEIGHT_ARRAY_TYPE_OES:
1470 #endif // defined(GL_WEIGHT_ARRAY_TYPE_OES)
1471 _needed = 1;
1472 break;
1473 #if defined(GL_ALIASED_POINT_SIZE_RANGE)
1474 case GL_ALIASED_POINT_SIZE_RANGE:
1475 #endif // defined(GL_ALIASED_POINT_SIZE_RANGE)
1476 #if defined(GL_ALIASED_LINE_WIDTH_RANGE)
1477 case GL_ALIASED_LINE_WIDTH_RANGE:
1478 #endif // defined(GL_ALIASED_LINE_WIDTH_RANGE)
1479 #if defined(GL_DEPTH_RANGE)
1480 case GL_DEPTH_RANGE:
1481 #endif // defined(GL_DEPTH_RANGE)
1482 #if defined(GL_MAX_VIEWPORT_DIMS)
1483 case GL_MAX_VIEWPORT_DIMS:
1484 #endif // defined(GL_MAX_VIEWPORT_DIMS)
1485 #if defined(GL_SMOOTH_LINE_WIDTH_RANGE)
1486 case GL_SMOOTH_LINE_WIDTH_RANGE:
1487 #endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE)
1488 #if defined(GL_SMOOTH_POINT_SIZE_RANGE)
1489 case GL_SMOOTH_POINT_SIZE_RANGE:
1490 #endif // defined(GL_SMOOTH_POINT_SIZE_RANGE)
1491 _needed = 2;
1492 break;
1493 #if defined(GL_COLOR_CLEAR_VALUE)
1494 case GL_COLOR_CLEAR_VALUE:
1495 #endif // defined(GL_COLOR_CLEAR_VALUE)
1496 #if defined(GL_COLOR_WRITEMASK)
1497 case GL_COLOR_WRITEMASK:
1498 #endif // defined(GL_COLOR_WRITEMASK)
1499 #if defined(GL_FOG_COLOR)
1500 case GL_FOG_COLOR:
1501 #endif // defined(GL_FOG_COLOR)
1502 #if defined(GL_LIGHT_MODEL_AMBIENT)
1503 case GL_LIGHT_MODEL_AMBIENT:
1504 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
1505 #if defined(GL_SCISSOR_BOX)
1506 case GL_SCISSOR_BOX:
1507 #endif // defined(GL_SCISSOR_BOX)
1508 #if defined(GL_VIEWPORT)
1509 case GL_VIEWPORT:
1510 #endif // defined(GL_VIEWPORT)
1511 _needed = 4;
1512 break;
1513 #if defined(GL_MODELVIEW_MATRIX)
1514 case GL_MODELVIEW_MATRIX:
1515 #endif // defined(GL_MODELVIEW_MATRIX)
1516 #if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
1517 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES:
1518 #endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
1519 #if defined(GL_PROJECTION_MATRIX)
1520 case GL_PROJECTION_MATRIX:
1521 #endif // defined(GL_PROJECTION_MATRIX)
1522 #if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
1523 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES:
1524 #endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
1525 #if defined(GL_TEXTURE_MATRIX)
1526 case GL_TEXTURE_MATRIX:
1527 #endif // defined(GL_TEXTURE_MATRIX)
1528 #if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
1529 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES:
1530 #endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
1531 _needed = 16;
1532 break;
1533 #if defined(GL_COMPRESSED_TEXTURE_FORMATS)
1534 case GL_COMPRESSED_TEXTURE_FORMATS:
1535 #endif // defined(GL_COMPRESSED_TEXTURE_FORMATS)
1536 _needed = getNumCompressedTextureFormats();
1537 break;
1538 default:
1539 _needed = 1;
1540 break;
1541 }
1542 if (_remaining < _needed) {
1543 _exception = 1;
1544 _exceptionType = "java/lang/IllegalArgumentException";
1545 _exceptionMessage = "length - offset < needed";
1546 goto exit;
1547 }
1548 params_base = (GLint *)
1549 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1550 params = params_base + offset;
1551
1552 glGetIntegerv(
1553 (GLenum)pname,
1554 (GLint *)params
1555 );
1556
1557 exit:
1558 if (params_base) {
1559 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1560 _exception ? JNI_ABORT: 0);
1561 }
1562 if (_exception) {
1563 jniThrowException(_env, _exceptionType, _exceptionMessage);
1564 }
1565 }
1566
1567 /* void glGetIntegerv ( GLenum pname, GLint *params ) */
1568 static void
android_glGetIntegerv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)1569 android_glGetIntegerv__ILjava_nio_IntBuffer_2
1570 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1571 jint _exception = 0;
1572 const char * _exceptionType = NULL;
1573 const char * _exceptionMessage = NULL;
1574 jarray _array = (jarray) 0;
1575 jint _bufferOffset = (jint) 0;
1576 jint _remaining;
1577 GLint *params = (GLint *) 0;
1578
1579 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
1580 int _needed;
1581 switch (pname) {
1582 #if defined(GL_ALPHA_BITS)
1583 case GL_ALPHA_BITS:
1584 #endif // defined(GL_ALPHA_BITS)
1585 #if defined(GL_ALPHA_TEST_FUNC)
1586 case GL_ALPHA_TEST_FUNC:
1587 #endif // defined(GL_ALPHA_TEST_FUNC)
1588 #if defined(GL_ALPHA_TEST_REF)
1589 case GL_ALPHA_TEST_REF:
1590 #endif // defined(GL_ALPHA_TEST_REF)
1591 #if defined(GL_BLEND_DST)
1592 case GL_BLEND_DST:
1593 #endif // defined(GL_BLEND_DST)
1594 #if defined(GL_BLUE_BITS)
1595 case GL_BLUE_BITS:
1596 #endif // defined(GL_BLUE_BITS)
1597 #if defined(GL_COLOR_ARRAY_BUFFER_BINDING)
1598 case GL_COLOR_ARRAY_BUFFER_BINDING:
1599 #endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING)
1600 #if defined(GL_COLOR_ARRAY_SIZE)
1601 case GL_COLOR_ARRAY_SIZE:
1602 #endif // defined(GL_COLOR_ARRAY_SIZE)
1603 #if defined(GL_COLOR_ARRAY_STRIDE)
1604 case GL_COLOR_ARRAY_STRIDE:
1605 #endif // defined(GL_COLOR_ARRAY_STRIDE)
1606 #if defined(GL_COLOR_ARRAY_TYPE)
1607 case GL_COLOR_ARRAY_TYPE:
1608 #endif // defined(GL_COLOR_ARRAY_TYPE)
1609 #if defined(GL_CULL_FACE)
1610 case GL_CULL_FACE:
1611 #endif // defined(GL_CULL_FACE)
1612 #if defined(GL_DEPTH_BITS)
1613 case GL_DEPTH_BITS:
1614 #endif // defined(GL_DEPTH_BITS)
1615 #if defined(GL_DEPTH_CLEAR_VALUE)
1616 case GL_DEPTH_CLEAR_VALUE:
1617 #endif // defined(GL_DEPTH_CLEAR_VALUE)
1618 #if defined(GL_DEPTH_FUNC)
1619 case GL_DEPTH_FUNC:
1620 #endif // defined(GL_DEPTH_FUNC)
1621 #if defined(GL_DEPTH_WRITEMASK)
1622 case GL_DEPTH_WRITEMASK:
1623 #endif // defined(GL_DEPTH_WRITEMASK)
1624 #if defined(GL_FOG_DENSITY)
1625 case GL_FOG_DENSITY:
1626 #endif // defined(GL_FOG_DENSITY)
1627 #if defined(GL_FOG_END)
1628 case GL_FOG_END:
1629 #endif // defined(GL_FOG_END)
1630 #if defined(GL_FOG_MODE)
1631 case GL_FOG_MODE:
1632 #endif // defined(GL_FOG_MODE)
1633 #if defined(GL_FOG_START)
1634 case GL_FOG_START:
1635 #endif // defined(GL_FOG_START)
1636 #if defined(GL_FRONT_FACE)
1637 case GL_FRONT_FACE:
1638 #endif // defined(GL_FRONT_FACE)
1639 #if defined(GL_GREEN_BITS)
1640 case GL_GREEN_BITS:
1641 #endif // defined(GL_GREEN_BITS)
1642 #if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
1643 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES:
1644 #endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
1645 #if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
1646 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES:
1647 #endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
1648 #if defined(GL_LIGHT_MODEL_COLOR_CONTROL)
1649 case GL_LIGHT_MODEL_COLOR_CONTROL:
1650 #endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL)
1651 #if defined(GL_LIGHT_MODEL_LOCAL_VIEWER)
1652 case GL_LIGHT_MODEL_LOCAL_VIEWER:
1653 #endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER)
1654 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
1655 case GL_LIGHT_MODEL_TWO_SIDE:
1656 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
1657 #if defined(GL_LINE_SMOOTH_HINT)
1658 case GL_LINE_SMOOTH_HINT:
1659 #endif // defined(GL_LINE_SMOOTH_HINT)
1660 #if defined(GL_LINE_WIDTH)
1661 case GL_LINE_WIDTH:
1662 #endif // defined(GL_LINE_WIDTH)
1663 #if defined(GL_LOGIC_OP_MODE)
1664 case GL_LOGIC_OP_MODE:
1665 #endif // defined(GL_LOGIC_OP_MODE)
1666 #if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
1667 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES:
1668 #endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
1669 #if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
1670 case GL_MATRIX_INDEX_ARRAY_SIZE_OES:
1671 #endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
1672 #if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
1673 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES:
1674 #endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
1675 #if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
1676 case GL_MATRIX_INDEX_ARRAY_TYPE_OES:
1677 #endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
1678 #if defined(GL_MATRIX_MODE)
1679 case GL_MATRIX_MODE:
1680 #endif // defined(GL_MATRIX_MODE)
1681 #if defined(GL_MAX_CLIP_PLANES)
1682 case GL_MAX_CLIP_PLANES:
1683 #endif // defined(GL_MAX_CLIP_PLANES)
1684 #if defined(GL_MAX_ELEMENTS_INDICES)
1685 case GL_MAX_ELEMENTS_INDICES:
1686 #endif // defined(GL_MAX_ELEMENTS_INDICES)
1687 #if defined(GL_MAX_ELEMENTS_VERTICES)
1688 case GL_MAX_ELEMENTS_VERTICES:
1689 #endif // defined(GL_MAX_ELEMENTS_VERTICES)
1690 #if defined(GL_MAX_LIGHTS)
1691 case GL_MAX_LIGHTS:
1692 #endif // defined(GL_MAX_LIGHTS)
1693 #if defined(GL_MAX_MODELVIEW_STACK_DEPTH)
1694 case GL_MAX_MODELVIEW_STACK_DEPTH:
1695 #endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH)
1696 #if defined(GL_MAX_PALETTE_MATRICES_OES)
1697 case GL_MAX_PALETTE_MATRICES_OES:
1698 #endif // defined(GL_MAX_PALETTE_MATRICES_OES)
1699 #if defined(GL_MAX_PROJECTION_STACK_DEPTH)
1700 case GL_MAX_PROJECTION_STACK_DEPTH:
1701 #endif // defined(GL_MAX_PROJECTION_STACK_DEPTH)
1702 #if defined(GL_MAX_TEXTURE_SIZE)
1703 case GL_MAX_TEXTURE_SIZE:
1704 #endif // defined(GL_MAX_TEXTURE_SIZE)
1705 #if defined(GL_MAX_TEXTURE_STACK_DEPTH)
1706 case GL_MAX_TEXTURE_STACK_DEPTH:
1707 #endif // defined(GL_MAX_TEXTURE_STACK_DEPTH)
1708 #if defined(GL_MAX_TEXTURE_UNITS)
1709 case GL_MAX_TEXTURE_UNITS:
1710 #endif // defined(GL_MAX_TEXTURE_UNITS)
1711 #if defined(GL_MAX_VERTEX_UNITS_OES)
1712 case GL_MAX_VERTEX_UNITS_OES:
1713 #endif // defined(GL_MAX_VERTEX_UNITS_OES)
1714 #if defined(GL_MODELVIEW_STACK_DEPTH)
1715 case GL_MODELVIEW_STACK_DEPTH:
1716 #endif // defined(GL_MODELVIEW_STACK_DEPTH)
1717 #if defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
1718 case GL_NORMAL_ARRAY_BUFFER_BINDING:
1719 #endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
1720 #if defined(GL_NORMAL_ARRAY_STRIDE)
1721 case GL_NORMAL_ARRAY_STRIDE:
1722 #endif // defined(GL_NORMAL_ARRAY_STRIDE)
1723 #if defined(GL_NORMAL_ARRAY_TYPE)
1724 case GL_NORMAL_ARRAY_TYPE:
1725 #endif // defined(GL_NORMAL_ARRAY_TYPE)
1726 #if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
1727 case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
1728 #endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
1729 #if defined(GL_PACK_ALIGNMENT)
1730 case GL_PACK_ALIGNMENT:
1731 #endif // defined(GL_PACK_ALIGNMENT)
1732 #if defined(GL_PERSPECTIVE_CORRECTION_HINT)
1733 case GL_PERSPECTIVE_CORRECTION_HINT:
1734 #endif // defined(GL_PERSPECTIVE_CORRECTION_HINT)
1735 #if defined(GL_POINT_SIZE)
1736 case GL_POINT_SIZE:
1737 #endif // defined(GL_POINT_SIZE)
1738 #if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
1739 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES:
1740 #endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
1741 #if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
1742 case GL_POINT_SIZE_ARRAY_STRIDE_OES:
1743 #endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
1744 #if defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
1745 case GL_POINT_SIZE_ARRAY_TYPE_OES:
1746 #endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
1747 #if defined(GL_POINT_SMOOTH_HINT)
1748 case GL_POINT_SMOOTH_HINT:
1749 #endif // defined(GL_POINT_SMOOTH_HINT)
1750 #if defined(GL_POLYGON_OFFSET_FACTOR)
1751 case GL_POLYGON_OFFSET_FACTOR:
1752 #endif // defined(GL_POLYGON_OFFSET_FACTOR)
1753 #if defined(GL_POLYGON_OFFSET_UNITS)
1754 case GL_POLYGON_OFFSET_UNITS:
1755 #endif // defined(GL_POLYGON_OFFSET_UNITS)
1756 #if defined(GL_PROJECTION_STACK_DEPTH)
1757 case GL_PROJECTION_STACK_DEPTH:
1758 #endif // defined(GL_PROJECTION_STACK_DEPTH)
1759 #if defined(GL_RED_BITS)
1760 case GL_RED_BITS:
1761 #endif // defined(GL_RED_BITS)
1762 #if defined(GL_SHADE_MODEL)
1763 case GL_SHADE_MODEL:
1764 #endif // defined(GL_SHADE_MODEL)
1765 #if defined(GL_STENCIL_BITS)
1766 case GL_STENCIL_BITS:
1767 #endif // defined(GL_STENCIL_BITS)
1768 #if defined(GL_STENCIL_CLEAR_VALUE)
1769 case GL_STENCIL_CLEAR_VALUE:
1770 #endif // defined(GL_STENCIL_CLEAR_VALUE)
1771 #if defined(GL_STENCIL_FAIL)
1772 case GL_STENCIL_FAIL:
1773 #endif // defined(GL_STENCIL_FAIL)
1774 #if defined(GL_STENCIL_FUNC)
1775 case GL_STENCIL_FUNC:
1776 #endif // defined(GL_STENCIL_FUNC)
1777 #if defined(GL_STENCIL_PASS_DEPTH_FAIL)
1778 case GL_STENCIL_PASS_DEPTH_FAIL:
1779 #endif // defined(GL_STENCIL_PASS_DEPTH_FAIL)
1780 #if defined(GL_STENCIL_PASS_DEPTH_PASS)
1781 case GL_STENCIL_PASS_DEPTH_PASS:
1782 #endif // defined(GL_STENCIL_PASS_DEPTH_PASS)
1783 #if defined(GL_STENCIL_REF)
1784 case GL_STENCIL_REF:
1785 #endif // defined(GL_STENCIL_REF)
1786 #if defined(GL_STENCIL_VALUE_MASK)
1787 case GL_STENCIL_VALUE_MASK:
1788 #endif // defined(GL_STENCIL_VALUE_MASK)
1789 #if defined(GL_STENCIL_WRITEMASK)
1790 case GL_STENCIL_WRITEMASK:
1791 #endif // defined(GL_STENCIL_WRITEMASK)
1792 #if defined(GL_SUBPIXEL_BITS)
1793 case GL_SUBPIXEL_BITS:
1794 #endif // defined(GL_SUBPIXEL_BITS)
1795 #if defined(GL_TEXTURE_BINDING_2D)
1796 case GL_TEXTURE_BINDING_2D:
1797 #endif // defined(GL_TEXTURE_BINDING_2D)
1798 #if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
1799 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING:
1800 #endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
1801 #if defined(GL_TEXTURE_COORD_ARRAY_SIZE)
1802 case GL_TEXTURE_COORD_ARRAY_SIZE:
1803 #endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE)
1804 #if defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
1805 case GL_TEXTURE_COORD_ARRAY_STRIDE:
1806 #endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
1807 #if defined(GL_TEXTURE_COORD_ARRAY_TYPE)
1808 case GL_TEXTURE_COORD_ARRAY_TYPE:
1809 #endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE)
1810 #if defined(GL_TEXTURE_STACK_DEPTH)
1811 case GL_TEXTURE_STACK_DEPTH:
1812 #endif // defined(GL_TEXTURE_STACK_DEPTH)
1813 #if defined(GL_UNPACK_ALIGNMENT)
1814 case GL_UNPACK_ALIGNMENT:
1815 #endif // defined(GL_UNPACK_ALIGNMENT)
1816 #if defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
1817 case GL_VERTEX_ARRAY_BUFFER_BINDING:
1818 #endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
1819 #if defined(GL_VERTEX_ARRAY_SIZE)
1820 case GL_VERTEX_ARRAY_SIZE:
1821 #endif // defined(GL_VERTEX_ARRAY_SIZE)
1822 #if defined(GL_VERTEX_ARRAY_STRIDE)
1823 case GL_VERTEX_ARRAY_STRIDE:
1824 #endif // defined(GL_VERTEX_ARRAY_STRIDE)
1825 #if defined(GL_VERTEX_ARRAY_TYPE)
1826 case GL_VERTEX_ARRAY_TYPE:
1827 #endif // defined(GL_VERTEX_ARRAY_TYPE)
1828 #if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
1829 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES:
1830 #endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
1831 #if defined(GL_WEIGHT_ARRAY_SIZE_OES)
1832 case GL_WEIGHT_ARRAY_SIZE_OES:
1833 #endif // defined(GL_WEIGHT_ARRAY_SIZE_OES)
1834 #if defined(GL_WEIGHT_ARRAY_STRIDE_OES)
1835 case GL_WEIGHT_ARRAY_STRIDE_OES:
1836 #endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES)
1837 #if defined(GL_WEIGHT_ARRAY_TYPE_OES)
1838 case GL_WEIGHT_ARRAY_TYPE_OES:
1839 #endif // defined(GL_WEIGHT_ARRAY_TYPE_OES)
1840 _needed = 1;
1841 break;
1842 #if defined(GL_ALIASED_POINT_SIZE_RANGE)
1843 case GL_ALIASED_POINT_SIZE_RANGE:
1844 #endif // defined(GL_ALIASED_POINT_SIZE_RANGE)
1845 #if defined(GL_ALIASED_LINE_WIDTH_RANGE)
1846 case GL_ALIASED_LINE_WIDTH_RANGE:
1847 #endif // defined(GL_ALIASED_LINE_WIDTH_RANGE)
1848 #if defined(GL_DEPTH_RANGE)
1849 case GL_DEPTH_RANGE:
1850 #endif // defined(GL_DEPTH_RANGE)
1851 #if defined(GL_MAX_VIEWPORT_DIMS)
1852 case GL_MAX_VIEWPORT_DIMS:
1853 #endif // defined(GL_MAX_VIEWPORT_DIMS)
1854 #if defined(GL_SMOOTH_LINE_WIDTH_RANGE)
1855 case GL_SMOOTH_LINE_WIDTH_RANGE:
1856 #endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE)
1857 #if defined(GL_SMOOTH_POINT_SIZE_RANGE)
1858 case GL_SMOOTH_POINT_SIZE_RANGE:
1859 #endif // defined(GL_SMOOTH_POINT_SIZE_RANGE)
1860 _needed = 2;
1861 break;
1862 #if defined(GL_COLOR_CLEAR_VALUE)
1863 case GL_COLOR_CLEAR_VALUE:
1864 #endif // defined(GL_COLOR_CLEAR_VALUE)
1865 #if defined(GL_COLOR_WRITEMASK)
1866 case GL_COLOR_WRITEMASK:
1867 #endif // defined(GL_COLOR_WRITEMASK)
1868 #if defined(GL_FOG_COLOR)
1869 case GL_FOG_COLOR:
1870 #endif // defined(GL_FOG_COLOR)
1871 #if defined(GL_LIGHT_MODEL_AMBIENT)
1872 case GL_LIGHT_MODEL_AMBIENT:
1873 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
1874 #if defined(GL_SCISSOR_BOX)
1875 case GL_SCISSOR_BOX:
1876 #endif // defined(GL_SCISSOR_BOX)
1877 #if defined(GL_VIEWPORT)
1878 case GL_VIEWPORT:
1879 #endif // defined(GL_VIEWPORT)
1880 _needed = 4;
1881 break;
1882 #if defined(GL_MODELVIEW_MATRIX)
1883 case GL_MODELVIEW_MATRIX:
1884 #endif // defined(GL_MODELVIEW_MATRIX)
1885 #if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
1886 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES:
1887 #endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
1888 #if defined(GL_PROJECTION_MATRIX)
1889 case GL_PROJECTION_MATRIX:
1890 #endif // defined(GL_PROJECTION_MATRIX)
1891 #if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
1892 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES:
1893 #endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
1894 #if defined(GL_TEXTURE_MATRIX)
1895 case GL_TEXTURE_MATRIX:
1896 #endif // defined(GL_TEXTURE_MATRIX)
1897 #if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
1898 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES:
1899 #endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
1900 _needed = 16;
1901 break;
1902 #if defined(GL_COMPRESSED_TEXTURE_FORMATS)
1903 case GL_COMPRESSED_TEXTURE_FORMATS:
1904 #endif // defined(GL_COMPRESSED_TEXTURE_FORMATS)
1905 _needed = getNumCompressedTextureFormats();
1906 break;
1907 default:
1908 _needed = 1;
1909 break;
1910 }
1911 if (_remaining < _needed) {
1912 _exception = 1;
1913 _exceptionType = "java/lang/IllegalArgumentException";
1914 _exceptionMessage = "remaining() < needed";
1915 goto exit;
1916 }
1917 if (params == NULL) {
1918 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
1919 params = (GLint *) (_paramsBase + _bufferOffset);
1920 }
1921 glGetIntegerv(
1922 (GLenum)pname,
1923 (GLint *)params
1924 );
1925
1926 exit:
1927 if (_array) {
1928 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
1929 }
1930 if (_exception) {
1931 jniThrowException(_env, _exceptionType, _exceptionMessage);
1932 }
1933 }
1934
1935 /* const GLubyte * glGetString ( GLenum name ) */
android_glGetString(JNIEnv * _env,jobject,jint name)1936 static jstring android_glGetString(JNIEnv *_env, jobject, jint name) {
1937 const char* chars = (const char*) glGetString((GLenum) name);
1938 return _env->NewStringUTF(chars);
1939 }
1940 /* void glHint ( GLenum target, GLenum mode ) */
1941 static void
android_glHint__II(JNIEnv * _env,jobject _this,jint target,jint mode)1942 android_glHint__II
1943 (JNIEnv *_env, jobject _this, jint target, jint mode) {
1944 glHint(
1945 (GLenum)target,
1946 (GLenum)mode
1947 );
1948 }
1949
1950 /* void glLightModelf ( GLenum pname, GLfloat param ) */
1951 static void
android_glLightModelf__IF(JNIEnv * _env,jobject _this,jint pname,jfloat param)1952 android_glLightModelf__IF
1953 (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
1954 glLightModelf(
1955 (GLenum)pname,
1956 (GLfloat)param
1957 );
1958 }
1959
1960 /* void glLightModelfv ( GLenum pname, const GLfloat *params ) */
1961 static void
android_glLightModelfv__I_3FI(JNIEnv * _env,jobject _this,jint pname,jfloatArray params_ref,jint offset)1962 android_glLightModelfv__I_3FI
1963 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
1964 jint _exception = 0;
1965 const char * _exceptionType = NULL;
1966 const char * _exceptionMessage = NULL;
1967 GLfloat *params_base = (GLfloat *) 0;
1968 jint _remaining;
1969 GLfloat *params = (GLfloat *) 0;
1970
1971 if (!params_ref) {
1972 _exception = 1;
1973 _exceptionType = "java/lang/IllegalArgumentException";
1974 _exceptionMessage = "params == null";
1975 goto exit;
1976 }
1977 if (offset < 0) {
1978 _exception = 1;
1979 _exceptionType = "java/lang/IllegalArgumentException";
1980 _exceptionMessage = "offset < 0";
1981 goto exit;
1982 }
1983 _remaining = _env->GetArrayLength(params_ref) - offset;
1984 int _needed;
1985 switch (pname) {
1986 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
1987 case GL_LIGHT_MODEL_TWO_SIDE:
1988 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
1989 _needed = 1;
1990 break;
1991 #if defined(GL_LIGHT_MODEL_AMBIENT)
1992 case GL_LIGHT_MODEL_AMBIENT:
1993 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
1994 _needed = 4;
1995 break;
1996 default:
1997 _needed = 1;
1998 break;
1999 }
2000 if (_remaining < _needed) {
2001 _exception = 1;
2002 _exceptionType = "java/lang/IllegalArgumentException";
2003 _exceptionMessage = "length - offset < needed";
2004 goto exit;
2005 }
2006 params_base = (GLfloat *)
2007 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2008 params = params_base + offset;
2009
2010 glLightModelfv(
2011 (GLenum)pname,
2012 (GLfloat *)params
2013 );
2014
2015 exit:
2016 if (params_base) {
2017 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2018 JNI_ABORT);
2019 }
2020 if (_exception) {
2021 jniThrowException(_env, _exceptionType, _exceptionMessage);
2022 }
2023 }
2024
2025 /* void glLightModelfv ( GLenum pname, const GLfloat *params ) */
2026 static void
android_glLightModelfv__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)2027 android_glLightModelfv__ILjava_nio_FloatBuffer_2
2028 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
2029 jint _exception = 0;
2030 const char * _exceptionType = NULL;
2031 const char * _exceptionMessage = NULL;
2032 jarray _array = (jarray) 0;
2033 jint _bufferOffset = (jint) 0;
2034 jint _remaining;
2035 GLfloat *params = (GLfloat *) 0;
2036
2037 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2038 int _needed;
2039 switch (pname) {
2040 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
2041 case GL_LIGHT_MODEL_TWO_SIDE:
2042 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
2043 _needed = 1;
2044 break;
2045 #if defined(GL_LIGHT_MODEL_AMBIENT)
2046 case GL_LIGHT_MODEL_AMBIENT:
2047 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
2048 _needed = 4;
2049 break;
2050 default:
2051 _needed = 1;
2052 break;
2053 }
2054 if (_remaining < _needed) {
2055 _exception = 1;
2056 _exceptionType = "java/lang/IllegalArgumentException";
2057 _exceptionMessage = "remaining() < needed";
2058 goto exit;
2059 }
2060 if (params == NULL) {
2061 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2062 params = (GLfloat *) (_paramsBase + _bufferOffset);
2063 }
2064 glLightModelfv(
2065 (GLenum)pname,
2066 (GLfloat *)params
2067 );
2068
2069 exit:
2070 if (_array) {
2071 releasePointer(_env, _array, params, JNI_FALSE);
2072 }
2073 if (_exception) {
2074 jniThrowException(_env, _exceptionType, _exceptionMessage);
2075 }
2076 }
2077
2078 /* void glLightModelx ( GLenum pname, GLfixed param ) */
2079 static void
android_glLightModelx__II(JNIEnv * _env,jobject _this,jint pname,jint param)2080 android_glLightModelx__II
2081 (JNIEnv *_env, jobject _this, jint pname, jint param) {
2082 glLightModelx(
2083 (GLenum)pname,
2084 (GLfixed)param
2085 );
2086 }
2087
2088 /* void glLightModelxv ( GLenum pname, const GLfixed *params ) */
2089 static void
android_glLightModelxv__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray params_ref,jint offset)2090 android_glLightModelxv__I_3II
2091 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
2092 jint _exception = 0;
2093 const char * _exceptionType = NULL;
2094 const char * _exceptionMessage = NULL;
2095 GLfixed *params_base = (GLfixed *) 0;
2096 jint _remaining;
2097 GLfixed *params = (GLfixed *) 0;
2098
2099 if (!params_ref) {
2100 _exception = 1;
2101 _exceptionType = "java/lang/IllegalArgumentException";
2102 _exceptionMessage = "params == null";
2103 goto exit;
2104 }
2105 if (offset < 0) {
2106 _exception = 1;
2107 _exceptionType = "java/lang/IllegalArgumentException";
2108 _exceptionMessage = "offset < 0";
2109 goto exit;
2110 }
2111 _remaining = _env->GetArrayLength(params_ref) - offset;
2112 int _needed;
2113 switch (pname) {
2114 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
2115 case GL_LIGHT_MODEL_TWO_SIDE:
2116 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
2117 _needed = 1;
2118 break;
2119 #if defined(GL_LIGHT_MODEL_AMBIENT)
2120 case GL_LIGHT_MODEL_AMBIENT:
2121 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
2122 _needed = 4;
2123 break;
2124 default:
2125 _needed = 1;
2126 break;
2127 }
2128 if (_remaining < _needed) {
2129 _exception = 1;
2130 _exceptionType = "java/lang/IllegalArgumentException";
2131 _exceptionMessage = "length - offset < needed";
2132 goto exit;
2133 }
2134 params_base = (GLfixed *)
2135 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2136 params = params_base + offset;
2137
2138 glLightModelxv(
2139 (GLenum)pname,
2140 (GLfixed *)params
2141 );
2142
2143 exit:
2144 if (params_base) {
2145 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2146 JNI_ABORT);
2147 }
2148 if (_exception) {
2149 jniThrowException(_env, _exceptionType, _exceptionMessage);
2150 }
2151 }
2152
2153 /* void glLightModelxv ( GLenum pname, const GLfixed *params ) */
2154 static void
android_glLightModelxv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)2155 android_glLightModelxv__ILjava_nio_IntBuffer_2
2156 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
2157 jint _exception = 0;
2158 const char * _exceptionType = NULL;
2159 const char * _exceptionMessage = NULL;
2160 jarray _array = (jarray) 0;
2161 jint _bufferOffset = (jint) 0;
2162 jint _remaining;
2163 GLfixed *params = (GLfixed *) 0;
2164
2165 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2166 int _needed;
2167 switch (pname) {
2168 #if defined(GL_LIGHT_MODEL_TWO_SIDE)
2169 case GL_LIGHT_MODEL_TWO_SIDE:
2170 #endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
2171 _needed = 1;
2172 break;
2173 #if defined(GL_LIGHT_MODEL_AMBIENT)
2174 case GL_LIGHT_MODEL_AMBIENT:
2175 #endif // defined(GL_LIGHT_MODEL_AMBIENT)
2176 _needed = 4;
2177 break;
2178 default:
2179 _needed = 1;
2180 break;
2181 }
2182 if (_remaining < _needed) {
2183 _exception = 1;
2184 _exceptionType = "java/lang/IllegalArgumentException";
2185 _exceptionMessage = "remaining() < needed";
2186 goto exit;
2187 }
2188 if (params == NULL) {
2189 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2190 params = (GLfixed *) (_paramsBase + _bufferOffset);
2191 }
2192 glLightModelxv(
2193 (GLenum)pname,
2194 (GLfixed *)params
2195 );
2196
2197 exit:
2198 if (_array) {
2199 releasePointer(_env, _array, params, JNI_FALSE);
2200 }
2201 if (_exception) {
2202 jniThrowException(_env, _exceptionType, _exceptionMessage);
2203 }
2204 }
2205
2206 /* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */
2207 static void
android_glLightf__IIF(JNIEnv * _env,jobject _this,jint light,jint pname,jfloat param)2208 android_glLightf__IIF
2209 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) {
2210 glLightf(
2211 (GLenum)light,
2212 (GLenum)pname,
2213 (GLfloat)param
2214 );
2215 }
2216
2217 /* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */
2218 static void
android_glLightfv__II_3FI(JNIEnv * _env,jobject _this,jint light,jint pname,jfloatArray params_ref,jint offset)2219 android_glLightfv__II_3FI
2220 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) {
2221 jint _exception = 0;
2222 const char * _exceptionType = NULL;
2223 const char * _exceptionMessage = NULL;
2224 GLfloat *params_base = (GLfloat *) 0;
2225 jint _remaining;
2226 GLfloat *params = (GLfloat *) 0;
2227
2228 if (!params_ref) {
2229 _exception = 1;
2230 _exceptionType = "java/lang/IllegalArgumentException";
2231 _exceptionMessage = "params == null";
2232 goto exit;
2233 }
2234 if (offset < 0) {
2235 _exception = 1;
2236 _exceptionType = "java/lang/IllegalArgumentException";
2237 _exceptionMessage = "offset < 0";
2238 goto exit;
2239 }
2240 _remaining = _env->GetArrayLength(params_ref) - offset;
2241 int _needed;
2242 switch (pname) {
2243 #if defined(GL_SPOT_EXPONENT)
2244 case GL_SPOT_EXPONENT:
2245 #endif // defined(GL_SPOT_EXPONENT)
2246 #if defined(GL_SPOT_CUTOFF)
2247 case GL_SPOT_CUTOFF:
2248 #endif // defined(GL_SPOT_CUTOFF)
2249 #if defined(GL_CONSTANT_ATTENUATION)
2250 case GL_CONSTANT_ATTENUATION:
2251 #endif // defined(GL_CONSTANT_ATTENUATION)
2252 #if defined(GL_LINEAR_ATTENUATION)
2253 case GL_LINEAR_ATTENUATION:
2254 #endif // defined(GL_LINEAR_ATTENUATION)
2255 #if defined(GL_QUADRATIC_ATTENUATION)
2256 case GL_QUADRATIC_ATTENUATION:
2257 #endif // defined(GL_QUADRATIC_ATTENUATION)
2258 _needed = 1;
2259 break;
2260 #if defined(GL_SPOT_DIRECTION)
2261 case GL_SPOT_DIRECTION:
2262 #endif // defined(GL_SPOT_DIRECTION)
2263 _needed = 3;
2264 break;
2265 #if defined(GL_AMBIENT)
2266 case GL_AMBIENT:
2267 #endif // defined(GL_AMBIENT)
2268 #if defined(GL_DIFFUSE)
2269 case GL_DIFFUSE:
2270 #endif // defined(GL_DIFFUSE)
2271 #if defined(GL_SPECULAR)
2272 case GL_SPECULAR:
2273 #endif // defined(GL_SPECULAR)
2274 #if defined(GL_EMISSION)
2275 case GL_EMISSION:
2276 #endif // defined(GL_EMISSION)
2277 _needed = 4;
2278 break;
2279 default:
2280 _needed = 1;
2281 break;
2282 }
2283 if (_remaining < _needed) {
2284 _exception = 1;
2285 _exceptionType = "java/lang/IllegalArgumentException";
2286 _exceptionMessage = "length - offset < needed";
2287 goto exit;
2288 }
2289 params_base = (GLfloat *)
2290 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2291 params = params_base + offset;
2292
2293 glLightfv(
2294 (GLenum)light,
2295 (GLenum)pname,
2296 (GLfloat *)params
2297 );
2298
2299 exit:
2300 if (params_base) {
2301 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2302 JNI_ABORT);
2303 }
2304 if (_exception) {
2305 jniThrowException(_env, _exceptionType, _exceptionMessage);
2306 }
2307 }
2308
2309 /* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */
2310 static void
android_glLightfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint light,jint pname,jobject params_buf)2311 android_glLightfv__IILjava_nio_FloatBuffer_2
2312 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
2313 jint _exception = 0;
2314 const char * _exceptionType = NULL;
2315 const char * _exceptionMessage = NULL;
2316 jarray _array = (jarray) 0;
2317 jint _bufferOffset = (jint) 0;
2318 jint _remaining;
2319 GLfloat *params = (GLfloat *) 0;
2320
2321 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2322 int _needed;
2323 switch (pname) {
2324 #if defined(GL_SPOT_EXPONENT)
2325 case GL_SPOT_EXPONENT:
2326 #endif // defined(GL_SPOT_EXPONENT)
2327 #if defined(GL_SPOT_CUTOFF)
2328 case GL_SPOT_CUTOFF:
2329 #endif // defined(GL_SPOT_CUTOFF)
2330 #if defined(GL_CONSTANT_ATTENUATION)
2331 case GL_CONSTANT_ATTENUATION:
2332 #endif // defined(GL_CONSTANT_ATTENUATION)
2333 #if defined(GL_LINEAR_ATTENUATION)
2334 case GL_LINEAR_ATTENUATION:
2335 #endif // defined(GL_LINEAR_ATTENUATION)
2336 #if defined(GL_QUADRATIC_ATTENUATION)
2337 case GL_QUADRATIC_ATTENUATION:
2338 #endif // defined(GL_QUADRATIC_ATTENUATION)
2339 _needed = 1;
2340 break;
2341 #if defined(GL_SPOT_DIRECTION)
2342 case GL_SPOT_DIRECTION:
2343 #endif // defined(GL_SPOT_DIRECTION)
2344 _needed = 3;
2345 break;
2346 #if defined(GL_AMBIENT)
2347 case GL_AMBIENT:
2348 #endif // defined(GL_AMBIENT)
2349 #if defined(GL_DIFFUSE)
2350 case GL_DIFFUSE:
2351 #endif // defined(GL_DIFFUSE)
2352 #if defined(GL_SPECULAR)
2353 case GL_SPECULAR:
2354 #endif // defined(GL_SPECULAR)
2355 #if defined(GL_EMISSION)
2356 case GL_EMISSION:
2357 #endif // defined(GL_EMISSION)
2358 _needed = 4;
2359 break;
2360 default:
2361 _needed = 1;
2362 break;
2363 }
2364 if (_remaining < _needed) {
2365 _exception = 1;
2366 _exceptionType = "java/lang/IllegalArgumentException";
2367 _exceptionMessage = "remaining() < needed";
2368 goto exit;
2369 }
2370 if (params == NULL) {
2371 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2372 params = (GLfloat *) (_paramsBase + _bufferOffset);
2373 }
2374 glLightfv(
2375 (GLenum)light,
2376 (GLenum)pname,
2377 (GLfloat *)params
2378 );
2379
2380 exit:
2381 if (_array) {
2382 releasePointer(_env, _array, params, JNI_FALSE);
2383 }
2384 if (_exception) {
2385 jniThrowException(_env, _exceptionType, _exceptionMessage);
2386 }
2387 }
2388
2389 /* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */
2390 static void
android_glLightx__III(JNIEnv * _env,jobject _this,jint light,jint pname,jint param)2391 android_glLightx__III
2392 (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) {
2393 glLightx(
2394 (GLenum)light,
2395 (GLenum)pname,
2396 (GLfixed)param
2397 );
2398 }
2399
2400 /* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */
2401 static void
android_glLightxv__II_3II(JNIEnv * _env,jobject _this,jint light,jint pname,jintArray params_ref,jint offset)2402 android_glLightxv__II_3II
2403 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
2404 jint _exception = 0;
2405 const char * _exceptionType = NULL;
2406 const char * _exceptionMessage = NULL;
2407 GLfixed *params_base = (GLfixed *) 0;
2408 jint _remaining;
2409 GLfixed *params = (GLfixed *) 0;
2410
2411 if (!params_ref) {
2412 _exception = 1;
2413 _exceptionType = "java/lang/IllegalArgumentException";
2414 _exceptionMessage = "params == null";
2415 goto exit;
2416 }
2417 if (offset < 0) {
2418 _exception = 1;
2419 _exceptionType = "java/lang/IllegalArgumentException";
2420 _exceptionMessage = "offset < 0";
2421 goto exit;
2422 }
2423 _remaining = _env->GetArrayLength(params_ref) - offset;
2424 int _needed;
2425 switch (pname) {
2426 #if defined(GL_SPOT_EXPONENT)
2427 case GL_SPOT_EXPONENT:
2428 #endif // defined(GL_SPOT_EXPONENT)
2429 #if defined(GL_SPOT_CUTOFF)
2430 case GL_SPOT_CUTOFF:
2431 #endif // defined(GL_SPOT_CUTOFF)
2432 #if defined(GL_CONSTANT_ATTENUATION)
2433 case GL_CONSTANT_ATTENUATION:
2434 #endif // defined(GL_CONSTANT_ATTENUATION)
2435 #if defined(GL_LINEAR_ATTENUATION)
2436 case GL_LINEAR_ATTENUATION:
2437 #endif // defined(GL_LINEAR_ATTENUATION)
2438 #if defined(GL_QUADRATIC_ATTENUATION)
2439 case GL_QUADRATIC_ATTENUATION:
2440 #endif // defined(GL_QUADRATIC_ATTENUATION)
2441 _needed = 1;
2442 break;
2443 #if defined(GL_SPOT_DIRECTION)
2444 case GL_SPOT_DIRECTION:
2445 #endif // defined(GL_SPOT_DIRECTION)
2446 _needed = 3;
2447 break;
2448 #if defined(GL_AMBIENT)
2449 case GL_AMBIENT:
2450 #endif // defined(GL_AMBIENT)
2451 #if defined(GL_DIFFUSE)
2452 case GL_DIFFUSE:
2453 #endif // defined(GL_DIFFUSE)
2454 #if defined(GL_SPECULAR)
2455 case GL_SPECULAR:
2456 #endif // defined(GL_SPECULAR)
2457 #if defined(GL_EMISSION)
2458 case GL_EMISSION:
2459 #endif // defined(GL_EMISSION)
2460 _needed = 4;
2461 break;
2462 default:
2463 _needed = 1;
2464 break;
2465 }
2466 if (_remaining < _needed) {
2467 _exception = 1;
2468 _exceptionType = "java/lang/IllegalArgumentException";
2469 _exceptionMessage = "length - offset < needed";
2470 goto exit;
2471 }
2472 params_base = (GLfixed *)
2473 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2474 params = params_base + offset;
2475
2476 glLightxv(
2477 (GLenum)light,
2478 (GLenum)pname,
2479 (GLfixed *)params
2480 );
2481
2482 exit:
2483 if (params_base) {
2484 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2485 JNI_ABORT);
2486 }
2487 if (_exception) {
2488 jniThrowException(_env, _exceptionType, _exceptionMessage);
2489 }
2490 }
2491
2492 /* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */
2493 static void
android_glLightxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint light,jint pname,jobject params_buf)2494 android_glLightxv__IILjava_nio_IntBuffer_2
2495 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
2496 jint _exception = 0;
2497 const char * _exceptionType = NULL;
2498 const char * _exceptionMessage = NULL;
2499 jarray _array = (jarray) 0;
2500 jint _bufferOffset = (jint) 0;
2501 jint _remaining;
2502 GLfixed *params = (GLfixed *) 0;
2503
2504 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2505 int _needed;
2506 switch (pname) {
2507 #if defined(GL_SPOT_EXPONENT)
2508 case GL_SPOT_EXPONENT:
2509 #endif // defined(GL_SPOT_EXPONENT)
2510 #if defined(GL_SPOT_CUTOFF)
2511 case GL_SPOT_CUTOFF:
2512 #endif // defined(GL_SPOT_CUTOFF)
2513 #if defined(GL_CONSTANT_ATTENUATION)
2514 case GL_CONSTANT_ATTENUATION:
2515 #endif // defined(GL_CONSTANT_ATTENUATION)
2516 #if defined(GL_LINEAR_ATTENUATION)
2517 case GL_LINEAR_ATTENUATION:
2518 #endif // defined(GL_LINEAR_ATTENUATION)
2519 #if defined(GL_QUADRATIC_ATTENUATION)
2520 case GL_QUADRATIC_ATTENUATION:
2521 #endif // defined(GL_QUADRATIC_ATTENUATION)
2522 _needed = 1;
2523 break;
2524 #if defined(GL_SPOT_DIRECTION)
2525 case GL_SPOT_DIRECTION:
2526 #endif // defined(GL_SPOT_DIRECTION)
2527 _needed = 3;
2528 break;
2529 #if defined(GL_AMBIENT)
2530 case GL_AMBIENT:
2531 #endif // defined(GL_AMBIENT)
2532 #if defined(GL_DIFFUSE)
2533 case GL_DIFFUSE:
2534 #endif // defined(GL_DIFFUSE)
2535 #if defined(GL_SPECULAR)
2536 case GL_SPECULAR:
2537 #endif // defined(GL_SPECULAR)
2538 #if defined(GL_EMISSION)
2539 case GL_EMISSION:
2540 #endif // defined(GL_EMISSION)
2541 _needed = 4;
2542 break;
2543 default:
2544 _needed = 1;
2545 break;
2546 }
2547 if (_remaining < _needed) {
2548 _exception = 1;
2549 _exceptionType = "java/lang/IllegalArgumentException";
2550 _exceptionMessage = "remaining() < needed";
2551 goto exit;
2552 }
2553 if (params == NULL) {
2554 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2555 params = (GLfixed *) (_paramsBase + _bufferOffset);
2556 }
2557 glLightxv(
2558 (GLenum)light,
2559 (GLenum)pname,
2560 (GLfixed *)params
2561 );
2562
2563 exit:
2564 if (_array) {
2565 releasePointer(_env, _array, params, JNI_FALSE);
2566 }
2567 if (_exception) {
2568 jniThrowException(_env, _exceptionType, _exceptionMessage);
2569 }
2570 }
2571
2572 /* void glLineWidth ( GLfloat width ) */
2573 static void
android_glLineWidth__F(JNIEnv * _env,jobject _this,jfloat width)2574 android_glLineWidth__F
2575 (JNIEnv *_env, jobject _this, jfloat width) {
2576 glLineWidth(
2577 (GLfloat)width
2578 );
2579 }
2580
2581 /* void glLineWidthx ( GLfixed width ) */
2582 static void
android_glLineWidthx__I(JNIEnv * _env,jobject _this,jint width)2583 android_glLineWidthx__I
2584 (JNIEnv *_env, jobject _this, jint width) {
2585 glLineWidthx(
2586 (GLfixed)width
2587 );
2588 }
2589
2590 /* void glLoadIdentity ( void ) */
2591 static void
android_glLoadIdentity__(JNIEnv * _env,jobject _this)2592 android_glLoadIdentity__
2593 (JNIEnv *_env, jobject _this) {
2594 glLoadIdentity();
2595 }
2596
2597 /* void glLoadMatrixf ( const GLfloat *m ) */
2598 static void
android_glLoadMatrixf___3FI(JNIEnv * _env,jobject _this,jfloatArray m_ref,jint offset)2599 android_glLoadMatrixf___3FI
2600 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) {
2601 jint _exception = 0;
2602 const char * _exceptionType = NULL;
2603 const char * _exceptionMessage = NULL;
2604 GLfloat *m_base = (GLfloat *) 0;
2605 jint _remaining;
2606 GLfloat *m = (GLfloat *) 0;
2607
2608 if (!m_ref) {
2609 _exception = 1;
2610 _exceptionType = "java/lang/IllegalArgumentException";
2611 _exceptionMessage = "m == null";
2612 goto exit;
2613 }
2614 if (offset < 0) {
2615 _exception = 1;
2616 _exceptionType = "java/lang/IllegalArgumentException";
2617 _exceptionMessage = "offset < 0";
2618 goto exit;
2619 }
2620 _remaining = _env->GetArrayLength(m_ref) - offset;
2621 m_base = (GLfloat *)
2622 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
2623 m = m_base + offset;
2624
2625 glLoadMatrixf(
2626 (GLfloat *)m
2627 );
2628
2629 exit:
2630 if (m_base) {
2631 _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
2632 JNI_ABORT);
2633 }
2634 if (_exception) {
2635 jniThrowException(_env, _exceptionType, _exceptionMessage);
2636 }
2637 }
2638
2639 /* void glLoadMatrixf ( const GLfloat *m ) */
2640 static void
android_glLoadMatrixf__Ljava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jobject m_buf)2641 android_glLoadMatrixf__Ljava_nio_FloatBuffer_2
2642 (JNIEnv *_env, jobject _this, jobject m_buf) {
2643 jarray _array = (jarray) 0;
2644 jint _bufferOffset = (jint) 0;
2645 jint _remaining;
2646 GLfloat *m = (GLfloat *) 0;
2647
2648 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
2649 if (m == NULL) {
2650 char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2651 m = (GLfloat *) (_mBase + _bufferOffset);
2652 }
2653 glLoadMatrixf(
2654 (GLfloat *)m
2655 );
2656 if (_array) {
2657 releasePointer(_env, _array, m, JNI_FALSE);
2658 }
2659 }
2660
2661 /* void glLoadMatrixx ( const GLfixed *m ) */
2662 static void
android_glLoadMatrixx___3II(JNIEnv * _env,jobject _this,jintArray m_ref,jint offset)2663 android_glLoadMatrixx___3II
2664 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
2665 jint _exception = 0;
2666 const char * _exceptionType = NULL;
2667 const char * _exceptionMessage = NULL;
2668 GLfixed *m_base = (GLfixed *) 0;
2669 jint _remaining;
2670 GLfixed *m = (GLfixed *) 0;
2671
2672 if (!m_ref) {
2673 _exception = 1;
2674 _exceptionType = "java/lang/IllegalArgumentException";
2675 _exceptionMessage = "m == null";
2676 goto exit;
2677 }
2678 if (offset < 0) {
2679 _exception = 1;
2680 _exceptionType = "java/lang/IllegalArgumentException";
2681 _exceptionMessage = "offset < 0";
2682 goto exit;
2683 }
2684 _remaining = _env->GetArrayLength(m_ref) - offset;
2685 m_base = (GLfixed *)
2686 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
2687 m = m_base + offset;
2688
2689 glLoadMatrixx(
2690 (GLfixed *)m
2691 );
2692
2693 exit:
2694 if (m_base) {
2695 _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
2696 JNI_ABORT);
2697 }
2698 if (_exception) {
2699 jniThrowException(_env, _exceptionType, _exceptionMessage);
2700 }
2701 }
2702
2703 /* void glLoadMatrixx ( const GLfixed *m ) */
2704 static void
android_glLoadMatrixx__Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jobject m_buf)2705 android_glLoadMatrixx__Ljava_nio_IntBuffer_2
2706 (JNIEnv *_env, jobject _this, jobject m_buf) {
2707 jarray _array = (jarray) 0;
2708 jint _bufferOffset = (jint) 0;
2709 jint _remaining;
2710 GLfixed *m = (GLfixed *) 0;
2711
2712 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
2713 if (m == NULL) {
2714 char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2715 m = (GLfixed *) (_mBase + _bufferOffset);
2716 }
2717 glLoadMatrixx(
2718 (GLfixed *)m
2719 );
2720 if (_array) {
2721 releasePointer(_env, _array, m, JNI_FALSE);
2722 }
2723 }
2724
2725 /* void glLogicOp ( GLenum opcode ) */
2726 static void
android_glLogicOp__I(JNIEnv * _env,jobject _this,jint opcode)2727 android_glLogicOp__I
2728 (JNIEnv *_env, jobject _this, jint opcode) {
2729 glLogicOp(
2730 (GLenum)opcode
2731 );
2732 }
2733
2734 /* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */
2735 static void
android_glMaterialf__IIF(JNIEnv * _env,jobject _this,jint face,jint pname,jfloat param)2736 android_glMaterialf__IIF
2737 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) {
2738 glMaterialf(
2739 (GLenum)face,
2740 (GLenum)pname,
2741 (GLfloat)param
2742 );
2743 }
2744
2745 /* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */
2746 static void
android_glMaterialfv__II_3FI(JNIEnv * _env,jobject _this,jint face,jint pname,jfloatArray params_ref,jint offset)2747 android_glMaterialfv__II_3FI
2748 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) {
2749 jint _exception = 0;
2750 const char * _exceptionType = NULL;
2751 const char * _exceptionMessage = NULL;
2752 GLfloat *params_base = (GLfloat *) 0;
2753 jint _remaining;
2754 GLfloat *params = (GLfloat *) 0;
2755
2756 if (!params_ref) {
2757 _exception = 1;
2758 _exceptionType = "java/lang/IllegalArgumentException";
2759 _exceptionMessage = "params == null";
2760 goto exit;
2761 }
2762 if (offset < 0) {
2763 _exception = 1;
2764 _exceptionType = "java/lang/IllegalArgumentException";
2765 _exceptionMessage = "offset < 0";
2766 goto exit;
2767 }
2768 _remaining = _env->GetArrayLength(params_ref) - offset;
2769 int _needed;
2770 switch (pname) {
2771 #if defined(GL_SHININESS)
2772 case GL_SHININESS:
2773 #endif // defined(GL_SHININESS)
2774 _needed = 1;
2775 break;
2776 #if defined(GL_AMBIENT)
2777 case GL_AMBIENT:
2778 #endif // defined(GL_AMBIENT)
2779 #if defined(GL_DIFFUSE)
2780 case GL_DIFFUSE:
2781 #endif // defined(GL_DIFFUSE)
2782 #if defined(GL_SPECULAR)
2783 case GL_SPECULAR:
2784 #endif // defined(GL_SPECULAR)
2785 #if defined(GL_EMISSION)
2786 case GL_EMISSION:
2787 #endif // defined(GL_EMISSION)
2788 #if defined(GL_AMBIENT_AND_DIFFUSE)
2789 case GL_AMBIENT_AND_DIFFUSE:
2790 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
2791 _needed = 4;
2792 break;
2793 default:
2794 _needed = 1;
2795 break;
2796 }
2797 if (_remaining < _needed) {
2798 _exception = 1;
2799 _exceptionType = "java/lang/IllegalArgumentException";
2800 _exceptionMessage = "length - offset < needed";
2801 goto exit;
2802 }
2803 params_base = (GLfloat *)
2804 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2805 params = params_base + offset;
2806
2807 glMaterialfv(
2808 (GLenum)face,
2809 (GLenum)pname,
2810 (GLfloat *)params
2811 );
2812
2813 exit:
2814 if (params_base) {
2815 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2816 JNI_ABORT);
2817 }
2818 if (_exception) {
2819 jniThrowException(_env, _exceptionType, _exceptionMessage);
2820 }
2821 }
2822
2823 /* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */
2824 static void
android_glMaterialfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint face,jint pname,jobject params_buf)2825 android_glMaterialfv__IILjava_nio_FloatBuffer_2
2826 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
2827 jint _exception = 0;
2828 const char * _exceptionType = NULL;
2829 const char * _exceptionMessage = NULL;
2830 jarray _array = (jarray) 0;
2831 jint _bufferOffset = (jint) 0;
2832 jint _remaining;
2833 GLfloat *params = (GLfloat *) 0;
2834
2835 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2836 int _needed;
2837 switch (pname) {
2838 #if defined(GL_SHININESS)
2839 case GL_SHININESS:
2840 #endif // defined(GL_SHININESS)
2841 _needed = 1;
2842 break;
2843 #if defined(GL_AMBIENT)
2844 case GL_AMBIENT:
2845 #endif // defined(GL_AMBIENT)
2846 #if defined(GL_DIFFUSE)
2847 case GL_DIFFUSE:
2848 #endif // defined(GL_DIFFUSE)
2849 #if defined(GL_SPECULAR)
2850 case GL_SPECULAR:
2851 #endif // defined(GL_SPECULAR)
2852 #if defined(GL_EMISSION)
2853 case GL_EMISSION:
2854 #endif // defined(GL_EMISSION)
2855 #if defined(GL_AMBIENT_AND_DIFFUSE)
2856 case GL_AMBIENT_AND_DIFFUSE:
2857 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
2858 _needed = 4;
2859 break;
2860 default:
2861 _needed = 1;
2862 break;
2863 }
2864 if (_remaining < _needed) {
2865 _exception = 1;
2866 _exceptionType = "java/lang/IllegalArgumentException";
2867 _exceptionMessage = "remaining() < needed";
2868 goto exit;
2869 }
2870 if (params == NULL) {
2871 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
2872 params = (GLfloat *) (_paramsBase + _bufferOffset);
2873 }
2874 glMaterialfv(
2875 (GLenum)face,
2876 (GLenum)pname,
2877 (GLfloat *)params
2878 );
2879
2880 exit:
2881 if (_array) {
2882 releasePointer(_env, _array, params, JNI_FALSE);
2883 }
2884 if (_exception) {
2885 jniThrowException(_env, _exceptionType, _exceptionMessage);
2886 }
2887 }
2888
2889 /* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */
2890 static void
android_glMaterialx__III(JNIEnv * _env,jobject _this,jint face,jint pname,jint param)2891 android_glMaterialx__III
2892 (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) {
2893 glMaterialx(
2894 (GLenum)face,
2895 (GLenum)pname,
2896 (GLfixed)param
2897 );
2898 }
2899
2900 /* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */
2901 static void
android_glMaterialxv__II_3II(JNIEnv * _env,jobject _this,jint face,jint pname,jintArray params_ref,jint offset)2902 android_glMaterialxv__II_3II
2903 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
2904 jint _exception = 0;
2905 const char * _exceptionType = NULL;
2906 const char * _exceptionMessage = NULL;
2907 GLfixed *params_base = (GLfixed *) 0;
2908 jint _remaining;
2909 GLfixed *params = (GLfixed *) 0;
2910
2911 if (!params_ref) {
2912 _exception = 1;
2913 _exceptionType = "java/lang/IllegalArgumentException";
2914 _exceptionMessage = "params == null";
2915 goto exit;
2916 }
2917 if (offset < 0) {
2918 _exception = 1;
2919 _exceptionType = "java/lang/IllegalArgumentException";
2920 _exceptionMessage = "offset < 0";
2921 goto exit;
2922 }
2923 _remaining = _env->GetArrayLength(params_ref) - offset;
2924 int _needed;
2925 switch (pname) {
2926 #if defined(GL_SHININESS)
2927 case GL_SHININESS:
2928 #endif // defined(GL_SHININESS)
2929 _needed = 1;
2930 break;
2931 #if defined(GL_AMBIENT)
2932 case GL_AMBIENT:
2933 #endif // defined(GL_AMBIENT)
2934 #if defined(GL_DIFFUSE)
2935 case GL_DIFFUSE:
2936 #endif // defined(GL_DIFFUSE)
2937 #if defined(GL_SPECULAR)
2938 case GL_SPECULAR:
2939 #endif // defined(GL_SPECULAR)
2940 #if defined(GL_EMISSION)
2941 case GL_EMISSION:
2942 #endif // defined(GL_EMISSION)
2943 #if defined(GL_AMBIENT_AND_DIFFUSE)
2944 case GL_AMBIENT_AND_DIFFUSE:
2945 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
2946 _needed = 4;
2947 break;
2948 default:
2949 _needed = 1;
2950 break;
2951 }
2952 if (_remaining < _needed) {
2953 _exception = 1;
2954 _exceptionType = "java/lang/IllegalArgumentException";
2955 _exceptionMessage = "length - offset < needed";
2956 goto exit;
2957 }
2958 params_base = (GLfixed *)
2959 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2960 params = params_base + offset;
2961
2962 glMaterialxv(
2963 (GLenum)face,
2964 (GLenum)pname,
2965 (GLfixed *)params
2966 );
2967
2968 exit:
2969 if (params_base) {
2970 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2971 JNI_ABORT);
2972 }
2973 if (_exception) {
2974 jniThrowException(_env, _exceptionType, _exceptionMessage);
2975 }
2976 }
2977
2978 /* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */
2979 static void
android_glMaterialxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint face,jint pname,jobject params_buf)2980 android_glMaterialxv__IILjava_nio_IntBuffer_2
2981 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
2982 jint _exception = 0;
2983 const char * _exceptionType = NULL;
2984 const char * _exceptionMessage = NULL;
2985 jarray _array = (jarray) 0;
2986 jint _bufferOffset = (jint) 0;
2987 jint _remaining;
2988 GLfixed *params = (GLfixed *) 0;
2989
2990 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
2991 int _needed;
2992 switch (pname) {
2993 #if defined(GL_SHININESS)
2994 case GL_SHININESS:
2995 #endif // defined(GL_SHININESS)
2996 _needed = 1;
2997 break;
2998 #if defined(GL_AMBIENT)
2999 case GL_AMBIENT:
3000 #endif // defined(GL_AMBIENT)
3001 #if defined(GL_DIFFUSE)
3002 case GL_DIFFUSE:
3003 #endif // defined(GL_DIFFUSE)
3004 #if defined(GL_SPECULAR)
3005 case GL_SPECULAR:
3006 #endif // defined(GL_SPECULAR)
3007 #if defined(GL_EMISSION)
3008 case GL_EMISSION:
3009 #endif // defined(GL_EMISSION)
3010 #if defined(GL_AMBIENT_AND_DIFFUSE)
3011 case GL_AMBIENT_AND_DIFFUSE:
3012 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
3013 _needed = 4;
3014 break;
3015 default:
3016 _needed = 1;
3017 break;
3018 }
3019 if (_remaining < _needed) {
3020 _exception = 1;
3021 _exceptionType = "java/lang/IllegalArgumentException";
3022 _exceptionMessage = "remaining() < needed";
3023 goto exit;
3024 }
3025 if (params == NULL) {
3026 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3027 params = (GLfixed *) (_paramsBase + _bufferOffset);
3028 }
3029 glMaterialxv(
3030 (GLenum)face,
3031 (GLenum)pname,
3032 (GLfixed *)params
3033 );
3034
3035 exit:
3036 if (_array) {
3037 releasePointer(_env, _array, params, JNI_FALSE);
3038 }
3039 if (_exception) {
3040 jniThrowException(_env, _exceptionType, _exceptionMessage);
3041 }
3042 }
3043
3044 /* void glMatrixMode ( GLenum mode ) */
3045 static void
android_glMatrixMode__I(JNIEnv * _env,jobject _this,jint mode)3046 android_glMatrixMode__I
3047 (JNIEnv *_env, jobject _this, jint mode) {
3048 glMatrixMode(
3049 (GLenum)mode
3050 );
3051 }
3052
3053 /* void glMultMatrixf ( const GLfloat *m ) */
3054 static void
android_glMultMatrixf___3FI(JNIEnv * _env,jobject _this,jfloatArray m_ref,jint offset)3055 android_glMultMatrixf___3FI
3056 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) {
3057 jint _exception = 0;
3058 const char * _exceptionType = NULL;
3059 const char * _exceptionMessage = NULL;
3060 GLfloat *m_base = (GLfloat *) 0;
3061 jint _remaining;
3062 GLfloat *m = (GLfloat *) 0;
3063
3064 if (!m_ref) {
3065 _exception = 1;
3066 _exceptionType = "java/lang/IllegalArgumentException";
3067 _exceptionMessage = "m == null";
3068 goto exit;
3069 }
3070 if (offset < 0) {
3071 _exception = 1;
3072 _exceptionType = "java/lang/IllegalArgumentException";
3073 _exceptionMessage = "offset < 0";
3074 goto exit;
3075 }
3076 _remaining = _env->GetArrayLength(m_ref) - offset;
3077 m_base = (GLfloat *)
3078 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
3079 m = m_base + offset;
3080
3081 glMultMatrixf(
3082 (GLfloat *)m
3083 );
3084
3085 exit:
3086 if (m_base) {
3087 _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
3088 JNI_ABORT);
3089 }
3090 if (_exception) {
3091 jniThrowException(_env, _exceptionType, _exceptionMessage);
3092 }
3093 }
3094
3095 /* void glMultMatrixf ( const GLfloat *m ) */
3096 static void
android_glMultMatrixf__Ljava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jobject m_buf)3097 android_glMultMatrixf__Ljava_nio_FloatBuffer_2
3098 (JNIEnv *_env, jobject _this, jobject m_buf) {
3099 jarray _array = (jarray) 0;
3100 jint _bufferOffset = (jint) 0;
3101 jint _remaining;
3102 GLfloat *m = (GLfloat *) 0;
3103
3104 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
3105 if (m == NULL) {
3106 char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3107 m = (GLfloat *) (_mBase + _bufferOffset);
3108 }
3109 glMultMatrixf(
3110 (GLfloat *)m
3111 );
3112 if (_array) {
3113 releasePointer(_env, _array, m, JNI_FALSE);
3114 }
3115 }
3116
3117 /* void glMultMatrixx ( const GLfixed *m ) */
3118 static void
android_glMultMatrixx___3II(JNIEnv * _env,jobject _this,jintArray m_ref,jint offset)3119 android_glMultMatrixx___3II
3120 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
3121 jint _exception = 0;
3122 const char * _exceptionType = NULL;
3123 const char * _exceptionMessage = NULL;
3124 GLfixed *m_base = (GLfixed *) 0;
3125 jint _remaining;
3126 GLfixed *m = (GLfixed *) 0;
3127
3128 if (!m_ref) {
3129 _exception = 1;
3130 _exceptionType = "java/lang/IllegalArgumentException";
3131 _exceptionMessage = "m == null";
3132 goto exit;
3133 }
3134 if (offset < 0) {
3135 _exception = 1;
3136 _exceptionType = "java/lang/IllegalArgumentException";
3137 _exceptionMessage = "offset < 0";
3138 goto exit;
3139 }
3140 _remaining = _env->GetArrayLength(m_ref) - offset;
3141 m_base = (GLfixed *)
3142 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
3143 m = m_base + offset;
3144
3145 glMultMatrixx(
3146 (GLfixed *)m
3147 );
3148
3149 exit:
3150 if (m_base) {
3151 _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
3152 JNI_ABORT);
3153 }
3154 if (_exception) {
3155 jniThrowException(_env, _exceptionType, _exceptionMessage);
3156 }
3157 }
3158
3159 /* void glMultMatrixx ( const GLfixed *m ) */
3160 static void
android_glMultMatrixx__Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jobject m_buf)3161 android_glMultMatrixx__Ljava_nio_IntBuffer_2
3162 (JNIEnv *_env, jobject _this, jobject m_buf) {
3163 jarray _array = (jarray) 0;
3164 jint _bufferOffset = (jint) 0;
3165 jint _remaining;
3166 GLfixed *m = (GLfixed *) 0;
3167
3168 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
3169 if (m == NULL) {
3170 char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3171 m = (GLfixed *) (_mBase + _bufferOffset);
3172 }
3173 glMultMatrixx(
3174 (GLfixed *)m
3175 );
3176 if (_array) {
3177 releasePointer(_env, _array, m, JNI_FALSE);
3178 }
3179 }
3180
3181 /* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */
3182 static void
android_glMultiTexCoord4f__IFFFF(JNIEnv * _env,jobject _this,jint target,jfloat s,jfloat t,jfloat r,jfloat q)3183 android_glMultiTexCoord4f__IFFFF
3184 (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) {
3185 glMultiTexCoord4f(
3186 (GLenum)target,
3187 (GLfloat)s,
3188 (GLfloat)t,
3189 (GLfloat)r,
3190 (GLfloat)q
3191 );
3192 }
3193
3194 /* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */
3195 static void
android_glMultiTexCoord4x__IIIII(JNIEnv * _env,jobject _this,jint target,jint s,jint t,jint r,jint q)3196 android_glMultiTexCoord4x__IIIII
3197 (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) {
3198 glMultiTexCoord4x(
3199 (GLenum)target,
3200 (GLfixed)s,
3201 (GLfixed)t,
3202 (GLfixed)r,
3203 (GLfixed)q
3204 );
3205 }
3206
3207 /* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */
3208 static void
android_glNormal3f__FFF(JNIEnv * _env,jobject _this,jfloat nx,jfloat ny,jfloat nz)3209 android_glNormal3f__FFF
3210 (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) {
3211 glNormal3f(
3212 (GLfloat)nx,
3213 (GLfloat)ny,
3214 (GLfloat)nz
3215 );
3216 }
3217
3218 /* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */
3219 static void
android_glNormal3x__III(JNIEnv * _env,jobject _this,jint nx,jint ny,jint nz)3220 android_glNormal3x__III
3221 (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) {
3222 glNormal3x(
3223 (GLfixed)nx,
3224 (GLfixed)ny,
3225 (GLfixed)nz
3226 );
3227 }
3228
3229 /* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */
3230 static void
android_glNormalPointerBounds__IILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint type,jint stride,jobject pointer_buf,jint remaining)3231 android_glNormalPointerBounds__IILjava_nio_Buffer_2I
3232 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) {
3233 jarray _array = (jarray) 0;
3234 jint _bufferOffset = (jint) 0;
3235 jint _remaining;
3236 GLvoid *pointer = (GLvoid *) 0;
3237
3238 if (pointer_buf) {
3239 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
3240 if ( ! pointer ) {
3241 return;
3242 }
3243 }
3244 glNormalPointerBounds(
3245 (GLenum)type,
3246 (GLsizei)stride,
3247 (GLvoid *)pointer,
3248 (GLsizei)remaining
3249 );
3250 }
3251
3252 /* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
3253 static void
android_glOrthof__FFFFFF(JNIEnv * _env,jobject _this,jfloat left,jfloat right,jfloat bottom,jfloat top,jfloat zNear,jfloat zFar)3254 android_glOrthof__FFFFFF
3255 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
3256 glOrthof(
3257 (GLfloat)left,
3258 (GLfloat)right,
3259 (GLfloat)bottom,
3260 (GLfloat)top,
3261 (GLfloat)zNear,
3262 (GLfloat)zFar
3263 );
3264 }
3265
3266 /* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
3267 static void
android_glOrthox__IIIIII(JNIEnv * _env,jobject _this,jint left,jint right,jint bottom,jint top,jint zNear,jint zFar)3268 android_glOrthox__IIIIII
3269 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
3270 glOrthox(
3271 (GLfixed)left,
3272 (GLfixed)right,
3273 (GLfixed)bottom,
3274 (GLfixed)top,
3275 (GLfixed)zNear,
3276 (GLfixed)zFar
3277 );
3278 }
3279
3280 /* void glPixelStorei ( GLenum pname, GLint param ) */
3281 static void
android_glPixelStorei__II(JNIEnv * _env,jobject _this,jint pname,jint param)3282 android_glPixelStorei__II
3283 (JNIEnv *_env, jobject _this, jint pname, jint param) {
3284 glPixelStorei(
3285 (GLenum)pname,
3286 (GLint)param
3287 );
3288 }
3289
3290 /* void glPointSize ( GLfloat size ) */
3291 static void
android_glPointSize__F(JNIEnv * _env,jobject _this,jfloat size)3292 android_glPointSize__F
3293 (JNIEnv *_env, jobject _this, jfloat size) {
3294 glPointSize(
3295 (GLfloat)size
3296 );
3297 }
3298
3299 /* void glPointSizex ( GLfixed size ) */
3300 static void
android_glPointSizex__I(JNIEnv * _env,jobject _this,jint size)3301 android_glPointSizex__I
3302 (JNIEnv *_env, jobject _this, jint size) {
3303 glPointSizex(
3304 (GLfixed)size
3305 );
3306 }
3307
3308 /* void glPolygonOffset ( GLfloat factor, GLfloat units ) */
3309 static void
android_glPolygonOffset__FF(JNIEnv * _env,jobject _this,jfloat factor,jfloat units)3310 android_glPolygonOffset__FF
3311 (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) {
3312 glPolygonOffset(
3313 (GLfloat)factor,
3314 (GLfloat)units
3315 );
3316 }
3317
3318 /* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */
3319 static void
android_glPolygonOffsetx__II(JNIEnv * _env,jobject _this,jint factor,jint units)3320 android_glPolygonOffsetx__II
3321 (JNIEnv *_env, jobject _this, jint factor, jint units) {
3322 glPolygonOffsetx(
3323 (GLfixed)factor,
3324 (GLfixed)units
3325 );
3326 }
3327
3328 /* void glPopMatrix ( void ) */
3329 static void
android_glPopMatrix__(JNIEnv * _env,jobject _this)3330 android_glPopMatrix__
3331 (JNIEnv *_env, jobject _this) {
3332 glPopMatrix();
3333 }
3334
3335 /* void glPushMatrix ( void ) */
3336 static void
android_glPushMatrix__(JNIEnv * _env,jobject _this)3337 android_glPushMatrix__
3338 (JNIEnv *_env, jobject _this) {
3339 glPushMatrix();
3340 }
3341
3342 /* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */
3343 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)3344 android_glReadPixels__IIIIIILjava_nio_Buffer_2
3345 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) {
3346 jarray _array = (jarray) 0;
3347 jint _bufferOffset = (jint) 0;
3348 jint _remaining;
3349 GLvoid *pixels = (GLvoid *) 0;
3350
3351 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset);
3352 if (pixels == NULL) {
3353 char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3354 pixels = (GLvoid *) (_pixelsBase + _bufferOffset);
3355 }
3356 glReadPixels(
3357 (GLint)x,
3358 (GLint)y,
3359 (GLsizei)width,
3360 (GLsizei)height,
3361 (GLenum)format,
3362 (GLenum)type,
3363 (GLvoid *)pixels
3364 );
3365 if (_array) {
3366 releasePointer(_env, _array, pixels, JNI_TRUE);
3367 }
3368 }
3369
3370 /* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */
3371 static void
android_glRotatef__FFFF(JNIEnv * _env,jobject _this,jfloat angle,jfloat x,jfloat y,jfloat z)3372 android_glRotatef__FFFF
3373 (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) {
3374 glRotatef(
3375 (GLfloat)angle,
3376 (GLfloat)x,
3377 (GLfloat)y,
3378 (GLfloat)z
3379 );
3380 }
3381
3382 /* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */
3383 static void
android_glRotatex__IIII(JNIEnv * _env,jobject _this,jint angle,jint x,jint y,jint z)3384 android_glRotatex__IIII
3385 (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) {
3386 glRotatex(
3387 (GLfixed)angle,
3388 (GLfixed)x,
3389 (GLfixed)y,
3390 (GLfixed)z
3391 );
3392 }
3393
3394 /* void glSampleCoverage ( GLclampf value, GLboolean invert ) */
3395 static void
android_glSampleCoverage__FZ(JNIEnv * _env,jobject _this,jfloat value,jboolean invert)3396 android_glSampleCoverage__FZ
3397 (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) {
3398 glSampleCoverage(
3399 (GLclampf)value,
3400 (GLboolean)invert
3401 );
3402 }
3403
3404 /* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */
3405 static void
android_glSampleCoveragex__IZ(JNIEnv * _env,jobject _this,jint value,jboolean invert)3406 android_glSampleCoveragex__IZ
3407 (JNIEnv *_env, jobject _this, jint value, jboolean invert) {
3408 glSampleCoveragex(
3409 (GLclampx)value,
3410 (GLboolean)invert
3411 );
3412 }
3413
3414 /* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */
3415 static void
android_glScalef__FFF(JNIEnv * _env,jobject _this,jfloat x,jfloat y,jfloat z)3416 android_glScalef__FFF
3417 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) {
3418 glScalef(
3419 (GLfloat)x,
3420 (GLfloat)y,
3421 (GLfloat)z
3422 );
3423 }
3424
3425 /* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */
3426 static void
android_glScalex__III(JNIEnv * _env,jobject _this,jint x,jint y,jint z)3427 android_glScalex__III
3428 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
3429 glScalex(
3430 (GLfixed)x,
3431 (GLfixed)y,
3432 (GLfixed)z
3433 );
3434 }
3435
3436 /* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */
3437 static void
android_glScissor__IIII(JNIEnv * _env,jobject _this,jint x,jint y,jint width,jint height)3438 android_glScissor__IIII
3439 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) {
3440 glScissor(
3441 (GLint)x,
3442 (GLint)y,
3443 (GLsizei)width,
3444 (GLsizei)height
3445 );
3446 }
3447
3448 /* void glShadeModel ( GLenum mode ) */
3449 static void
android_glShadeModel__I(JNIEnv * _env,jobject _this,jint mode)3450 android_glShadeModel__I
3451 (JNIEnv *_env, jobject _this, jint mode) {
3452 glShadeModel(
3453 (GLenum)mode
3454 );
3455 }
3456
3457 /* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */
3458 static void
android_glStencilFunc__III(JNIEnv * _env,jobject _this,jint func,jint ref,jint mask)3459 android_glStencilFunc__III
3460 (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) {
3461 glStencilFunc(
3462 (GLenum)func,
3463 (GLint)ref,
3464 (GLuint)mask
3465 );
3466 }
3467
3468 /* void glStencilMask ( GLuint mask ) */
3469 static void
android_glStencilMask__I(JNIEnv * _env,jobject _this,jint mask)3470 android_glStencilMask__I
3471 (JNIEnv *_env, jobject _this, jint mask) {
3472 glStencilMask(
3473 (GLuint)mask
3474 );
3475 }
3476
3477 /* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */
3478 static void
android_glStencilOp__III(JNIEnv * _env,jobject _this,jint fail,jint zfail,jint zpass)3479 android_glStencilOp__III
3480 (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) {
3481 glStencilOp(
3482 (GLenum)fail,
3483 (GLenum)zfail,
3484 (GLenum)zpass
3485 );
3486 }
3487
3488 /* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
3489 static void
android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jobject pointer_buf,jint remaining)3490 android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I
3491 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
3492 jarray _array = (jarray) 0;
3493 jint _bufferOffset = (jint) 0;
3494 jint _remaining;
3495 GLvoid *pointer = (GLvoid *) 0;
3496
3497 if (pointer_buf) {
3498 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
3499 if ( ! pointer ) {
3500 return;
3501 }
3502 }
3503 glTexCoordPointerBounds(
3504 (GLint)size,
3505 (GLenum)type,
3506 (GLsizei)stride,
3507 (GLvoid *)pointer,
3508 (GLsizei)remaining
3509 );
3510 }
3511
3512 /* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */
3513 static void
android_glTexEnvf__IIF(JNIEnv * _env,jobject _this,jint target,jint pname,jfloat param)3514 android_glTexEnvf__IIF
3515 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) {
3516 glTexEnvf(
3517 (GLenum)target,
3518 (GLenum)pname,
3519 (GLfloat)param
3520 );
3521 }
3522
3523 /* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */
3524 static void
android_glTexEnvfv__II_3FI(JNIEnv * _env,jobject _this,jint target,jint pname,jfloatArray params_ref,jint offset)3525 android_glTexEnvfv__II_3FI
3526 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
3527 jint _exception = 0;
3528 const char * _exceptionType = NULL;
3529 const char * _exceptionMessage = NULL;
3530 GLfloat *params_base = (GLfloat *) 0;
3531 jint _remaining;
3532 GLfloat *params = (GLfloat *) 0;
3533
3534 if (!params_ref) {
3535 _exception = 1;
3536 _exceptionType = "java/lang/IllegalArgumentException";
3537 _exceptionMessage = "params == null";
3538 goto exit;
3539 }
3540 if (offset < 0) {
3541 _exception = 1;
3542 _exceptionType = "java/lang/IllegalArgumentException";
3543 _exceptionMessage = "offset < 0";
3544 goto exit;
3545 }
3546 _remaining = _env->GetArrayLength(params_ref) - offset;
3547 int _needed;
3548 switch (pname) {
3549 #if defined(GL_TEXTURE_ENV_MODE)
3550 case GL_TEXTURE_ENV_MODE:
3551 #endif // defined(GL_TEXTURE_ENV_MODE)
3552 #if defined(GL_COMBINE_RGB)
3553 case GL_COMBINE_RGB:
3554 #endif // defined(GL_COMBINE_RGB)
3555 #if defined(GL_COMBINE_ALPHA)
3556 case GL_COMBINE_ALPHA:
3557 #endif // defined(GL_COMBINE_ALPHA)
3558 _needed = 1;
3559 break;
3560 #if defined(GL_TEXTURE_ENV_COLOR)
3561 case GL_TEXTURE_ENV_COLOR:
3562 #endif // defined(GL_TEXTURE_ENV_COLOR)
3563 _needed = 4;
3564 break;
3565 default:
3566 _needed = 1;
3567 break;
3568 }
3569 if (_remaining < _needed) {
3570 _exception = 1;
3571 _exceptionType = "java/lang/IllegalArgumentException";
3572 _exceptionMessage = "length - offset < needed";
3573 goto exit;
3574 }
3575 params_base = (GLfloat *)
3576 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3577 params = params_base + offset;
3578
3579 glTexEnvfv(
3580 (GLenum)target,
3581 (GLenum)pname,
3582 (GLfloat *)params
3583 );
3584
3585 exit:
3586 if (params_base) {
3587 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3588 JNI_ABORT);
3589 }
3590 if (_exception) {
3591 jniThrowException(_env, _exceptionType, _exceptionMessage);
3592 }
3593 }
3594
3595 /* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */
3596 static void
android_glTexEnvfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)3597 android_glTexEnvfv__IILjava_nio_FloatBuffer_2
3598 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
3599 jint _exception = 0;
3600 const char * _exceptionType = NULL;
3601 const char * _exceptionMessage = NULL;
3602 jarray _array = (jarray) 0;
3603 jint _bufferOffset = (jint) 0;
3604 jint _remaining;
3605 GLfloat *params = (GLfloat *) 0;
3606
3607 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
3608 int _needed;
3609 switch (pname) {
3610 #if defined(GL_TEXTURE_ENV_MODE)
3611 case GL_TEXTURE_ENV_MODE:
3612 #endif // defined(GL_TEXTURE_ENV_MODE)
3613 #if defined(GL_COMBINE_RGB)
3614 case GL_COMBINE_RGB:
3615 #endif // defined(GL_COMBINE_RGB)
3616 #if defined(GL_COMBINE_ALPHA)
3617 case GL_COMBINE_ALPHA:
3618 #endif // defined(GL_COMBINE_ALPHA)
3619 _needed = 1;
3620 break;
3621 #if defined(GL_TEXTURE_ENV_COLOR)
3622 case GL_TEXTURE_ENV_COLOR:
3623 #endif // defined(GL_TEXTURE_ENV_COLOR)
3624 _needed = 4;
3625 break;
3626 default:
3627 _needed = 1;
3628 break;
3629 }
3630 if (_remaining < _needed) {
3631 _exception = 1;
3632 _exceptionType = "java/lang/IllegalArgumentException";
3633 _exceptionMessage = "remaining() < needed";
3634 goto exit;
3635 }
3636 if (params == NULL) {
3637 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3638 params = (GLfloat *) (_paramsBase + _bufferOffset);
3639 }
3640 glTexEnvfv(
3641 (GLenum)target,
3642 (GLenum)pname,
3643 (GLfloat *)params
3644 );
3645
3646 exit:
3647 if (_array) {
3648 releasePointer(_env, _array, params, JNI_FALSE);
3649 }
3650 if (_exception) {
3651 jniThrowException(_env, _exceptionType, _exceptionMessage);
3652 }
3653 }
3654
3655 /* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */
3656 static void
android_glTexEnvx__III(JNIEnv * _env,jobject _this,jint target,jint pname,jint param)3657 android_glTexEnvx__III
3658 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
3659 glTexEnvx(
3660 (GLenum)target,
3661 (GLenum)pname,
3662 (GLfixed)param
3663 );
3664 }
3665
3666 /* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */
3667 static void
android_glTexEnvxv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)3668 android_glTexEnvxv__II_3II
3669 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
3670 jint _exception = 0;
3671 const char * _exceptionType = NULL;
3672 const char * _exceptionMessage = NULL;
3673 GLfixed *params_base = (GLfixed *) 0;
3674 jint _remaining;
3675 GLfixed *params = (GLfixed *) 0;
3676
3677 if (!params_ref) {
3678 _exception = 1;
3679 _exceptionType = "java/lang/IllegalArgumentException";
3680 _exceptionMessage = "params == null";
3681 goto exit;
3682 }
3683 if (offset < 0) {
3684 _exception = 1;
3685 _exceptionType = "java/lang/IllegalArgumentException";
3686 _exceptionMessage = "offset < 0";
3687 goto exit;
3688 }
3689 _remaining = _env->GetArrayLength(params_ref) - offset;
3690 int _needed;
3691 switch (pname) {
3692 #if defined(GL_TEXTURE_ENV_MODE)
3693 case GL_TEXTURE_ENV_MODE:
3694 #endif // defined(GL_TEXTURE_ENV_MODE)
3695 #if defined(GL_COMBINE_RGB)
3696 case GL_COMBINE_RGB:
3697 #endif // defined(GL_COMBINE_RGB)
3698 #if defined(GL_COMBINE_ALPHA)
3699 case GL_COMBINE_ALPHA:
3700 #endif // defined(GL_COMBINE_ALPHA)
3701 _needed = 1;
3702 break;
3703 #if defined(GL_TEXTURE_ENV_COLOR)
3704 case GL_TEXTURE_ENV_COLOR:
3705 #endif // defined(GL_TEXTURE_ENV_COLOR)
3706 _needed = 4;
3707 break;
3708 default:
3709 _needed = 1;
3710 break;
3711 }
3712 if (_remaining < _needed) {
3713 _exception = 1;
3714 _exceptionType = "java/lang/IllegalArgumentException";
3715 _exceptionMessage = "length - offset < needed";
3716 goto exit;
3717 }
3718 params_base = (GLfixed *)
3719 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3720 params = params_base + offset;
3721
3722 glTexEnvxv(
3723 (GLenum)target,
3724 (GLenum)pname,
3725 (GLfixed *)params
3726 );
3727
3728 exit:
3729 if (params_base) {
3730 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3731 JNI_ABORT);
3732 }
3733 if (_exception) {
3734 jniThrowException(_env, _exceptionType, _exceptionMessage);
3735 }
3736 }
3737
3738 /* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */
3739 static void
android_glTexEnvxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)3740 android_glTexEnvxv__IILjava_nio_IntBuffer_2
3741 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
3742 jint _exception = 0;
3743 const char * _exceptionType = NULL;
3744 const char * _exceptionMessage = NULL;
3745 jarray _array = (jarray) 0;
3746 jint _bufferOffset = (jint) 0;
3747 jint _remaining;
3748 GLfixed *params = (GLfixed *) 0;
3749
3750 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
3751 int _needed;
3752 switch (pname) {
3753 #if defined(GL_TEXTURE_ENV_MODE)
3754 case GL_TEXTURE_ENV_MODE:
3755 #endif // defined(GL_TEXTURE_ENV_MODE)
3756 #if defined(GL_COMBINE_RGB)
3757 case GL_COMBINE_RGB:
3758 #endif // defined(GL_COMBINE_RGB)
3759 #if defined(GL_COMBINE_ALPHA)
3760 case GL_COMBINE_ALPHA:
3761 #endif // defined(GL_COMBINE_ALPHA)
3762 _needed = 1;
3763 break;
3764 #if defined(GL_TEXTURE_ENV_COLOR)
3765 case GL_TEXTURE_ENV_COLOR:
3766 #endif // defined(GL_TEXTURE_ENV_COLOR)
3767 _needed = 4;
3768 break;
3769 default:
3770 _needed = 1;
3771 break;
3772 }
3773 if (_remaining < _needed) {
3774 _exception = 1;
3775 _exceptionType = "java/lang/IllegalArgumentException";
3776 _exceptionMessage = "remaining() < needed";
3777 goto exit;
3778 }
3779 if (params == NULL) {
3780 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3781 params = (GLfixed *) (_paramsBase + _bufferOffset);
3782 }
3783 glTexEnvxv(
3784 (GLenum)target,
3785 (GLenum)pname,
3786 (GLfixed *)params
3787 );
3788
3789 exit:
3790 if (_array) {
3791 releasePointer(_env, _array, params, JNI_FALSE);
3792 }
3793 if (_exception) {
3794 jniThrowException(_env, _exceptionType, _exceptionMessage);
3795 }
3796 }
3797
3798 /* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */
3799 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)3800 android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2
3801 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) {
3802 jarray _array = (jarray) 0;
3803 jint _bufferOffset = (jint) 0;
3804 jint _remaining;
3805 GLvoid *pixels = (GLvoid *) 0;
3806
3807 if (pixels_buf) {
3808 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset);
3809 }
3810 if (pixels_buf && pixels == NULL) {
3811 char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3812 pixels = (GLvoid *) (_pixelsBase + _bufferOffset);
3813 }
3814 glTexImage2D(
3815 (GLenum)target,
3816 (GLint)level,
3817 (GLint)internalformat,
3818 (GLsizei)width,
3819 (GLsizei)height,
3820 (GLint)border,
3821 (GLenum)format,
3822 (GLenum)type,
3823 (GLvoid *)pixels
3824 );
3825 if (_array) {
3826 releasePointer(_env, _array, pixels, JNI_FALSE);
3827 }
3828 }
3829
3830 /* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */
3831 static void
android_glTexParameterf__IIF(JNIEnv * _env,jobject _this,jint target,jint pname,jfloat param)3832 android_glTexParameterf__IIF
3833 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) {
3834 glTexParameterf(
3835 (GLenum)target,
3836 (GLenum)pname,
3837 (GLfloat)param
3838 );
3839 }
3840
3841 /* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */
3842 static void
android_glTexParameterx__III(JNIEnv * _env,jobject _this,jint target,jint pname,jint param)3843 android_glTexParameterx__III
3844 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
3845 glTexParameterx(
3846 (GLenum)target,
3847 (GLenum)pname,
3848 (GLfixed)param
3849 );
3850 }
3851
3852 /* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */
3853 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)3854 android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2
3855 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) {
3856 jarray _array = (jarray) 0;
3857 jint _bufferOffset = (jint) 0;
3858 jint _remaining;
3859 GLvoid *pixels = (GLvoid *) 0;
3860
3861 if (pixels_buf) {
3862 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset);
3863 }
3864 if (pixels_buf && pixels == NULL) {
3865 char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3866 pixels = (GLvoid *) (_pixelsBase + _bufferOffset);
3867 }
3868 glTexSubImage2D(
3869 (GLenum)target,
3870 (GLint)level,
3871 (GLint)xoffset,
3872 (GLint)yoffset,
3873 (GLsizei)width,
3874 (GLsizei)height,
3875 (GLenum)format,
3876 (GLenum)type,
3877 (GLvoid *)pixels
3878 );
3879 if (_array) {
3880 releasePointer(_env, _array, pixels, JNI_FALSE);
3881 }
3882 }
3883
3884 /* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */
3885 static void
android_glTranslatef__FFF(JNIEnv * _env,jobject _this,jfloat x,jfloat y,jfloat z)3886 android_glTranslatef__FFF
3887 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) {
3888 glTranslatef(
3889 (GLfloat)x,
3890 (GLfloat)y,
3891 (GLfloat)z
3892 );
3893 }
3894
3895 /* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */
3896 static void
android_glTranslatex__III(JNIEnv * _env,jobject _this,jint x,jint y,jint z)3897 android_glTranslatex__III
3898 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
3899 glTranslatex(
3900 (GLfixed)x,
3901 (GLfixed)y,
3902 (GLfixed)z
3903 );
3904 }
3905
3906 /* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
3907 static void
android_glVertexPointerBounds__IIILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jobject pointer_buf,jint remaining)3908 android_glVertexPointerBounds__IIILjava_nio_Buffer_2I
3909 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
3910 jarray _array = (jarray) 0;
3911 jint _bufferOffset = (jint) 0;
3912 jint _remaining;
3913 GLvoid *pointer = (GLvoid *) 0;
3914
3915 if (pointer_buf) {
3916 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
3917 if ( ! pointer ) {
3918 return;
3919 }
3920 }
3921 glVertexPointerBounds(
3922 (GLint)size,
3923 (GLenum)type,
3924 (GLsizei)stride,
3925 (GLvoid *)pointer,
3926 (GLsizei)remaining
3927 );
3928 }
3929
3930 /* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */
3931 static void
android_glViewport__IIII(JNIEnv * _env,jobject _this,jint x,jint y,jint width,jint height)3932 android_glViewport__IIII
3933 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) {
3934 glViewport(
3935 (GLint)x,
3936 (GLint)y,
3937 (GLsizei)width,
3938 (GLsizei)height
3939 );
3940 }
3941
3942 /* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */
3943 static jint
android_glQueryMatrixxOES___3II_3II(JNIEnv * _env,jobject _this,jintArray mantissa_ref,jint mantissaOffset,jintArray exponent_ref,jint exponentOffset)3944 android_glQueryMatrixxOES___3II_3II
3945 (JNIEnv *_env, jobject _this, jintArray mantissa_ref, jint mantissaOffset, jintArray exponent_ref, jint exponentOffset) {
3946 jint _exception = 0;
3947 const char * _exceptionType = NULL;
3948 const char * _exceptionMessage = NULL;
3949 GLbitfield _returnValue = -1;
3950 GLfixed *mantissa_base = (GLfixed *) 0;
3951 jint _mantissaRemaining;
3952 GLfixed *mantissa = (GLfixed *) 0;
3953 GLint *exponent_base = (GLint *) 0;
3954 jint _exponentRemaining;
3955 GLint *exponent = (GLint *) 0;
3956
3957 if (!mantissa_ref) {
3958 _exception = 1;
3959 _exceptionType = "java/lang/IllegalArgumentException";
3960 _exceptionMessage = "mantissa == null";
3961 goto exit;
3962 }
3963 if (mantissaOffset < 0) {
3964 _exception = 1;
3965 _exceptionType = "java/lang/IllegalArgumentException";
3966 _exceptionMessage = "mantissaOffset < 0";
3967 goto exit;
3968 }
3969 _mantissaRemaining = _env->GetArrayLength(mantissa_ref) - mantissaOffset;
3970 if (_mantissaRemaining < 16) {
3971 _exception = 1;
3972 _exceptionType = "java/lang/IllegalArgumentException";
3973 _exceptionMessage = "length - mantissaOffset < 16 < needed";
3974 goto exit;
3975 }
3976 mantissa_base = (GLfixed *)
3977 _env->GetPrimitiveArrayCritical(mantissa_ref, (jboolean *)0);
3978 mantissa = mantissa_base + mantissaOffset;
3979
3980 if (!exponent_ref) {
3981 _exception = 1;
3982 _exceptionType = "java/lang/IllegalArgumentException";
3983 _exceptionMessage = "exponent == null";
3984 goto exit;
3985 }
3986 if (exponentOffset < 0) {
3987 _exception = 1;
3988 _exceptionType = "java/lang/IllegalArgumentException";
3989 _exceptionMessage = "exponentOffset < 0";
3990 goto exit;
3991 }
3992 _exponentRemaining = _env->GetArrayLength(exponent_ref) - exponentOffset;
3993 if (_exponentRemaining < 16) {
3994 _exception = 1;
3995 _exceptionType = "java/lang/IllegalArgumentException";
3996 _exceptionMessage = "length - exponentOffset < 16 < needed";
3997 goto exit;
3998 }
3999 exponent_base = (GLint *)
4000 _env->GetPrimitiveArrayCritical(exponent_ref, (jboolean *)0);
4001 exponent = exponent_base + exponentOffset;
4002
4003 _returnValue = glQueryMatrixxOES(
4004 (GLfixed *)mantissa,
4005 (GLint *)exponent
4006 );
4007
4008 exit:
4009 if (exponent_base) {
4010 _env->ReleasePrimitiveArrayCritical(exponent_ref, exponent_base,
4011 _exception ? JNI_ABORT: 0);
4012 }
4013 if (mantissa_base) {
4014 _env->ReleasePrimitiveArrayCritical(mantissa_ref, mantissa_base,
4015 _exception ? JNI_ABORT: 0);
4016 }
4017 if (_exception) {
4018 jniThrowException(_env, _exceptionType, _exceptionMessage);
4019 }
4020 return _returnValue;
4021 }
4022
4023 /* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */
4024 static jint
android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jobject mantissa_buf,jobject exponent_buf)4025 android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2
4026 (JNIEnv *_env, jobject _this, jobject mantissa_buf, jobject exponent_buf) {
4027 jint _exception = 0;
4028 const char * _exceptionType = NULL;
4029 const char * _exceptionMessage = NULL;
4030 jarray _mantissaArray = (jarray) 0;
4031 jint _mantissaBufferOffset = (jint) 0;
4032 jarray _exponentArray = (jarray) 0;
4033 jint _exponentBufferOffset = (jint) 0;
4034 GLbitfield _returnValue = -1;
4035 jint _mantissaRemaining;
4036 GLfixed *mantissa = (GLfixed *) 0;
4037 jint _exponentRemaining;
4038 GLint *exponent = (GLint *) 0;
4039
4040 mantissa = (GLfixed *)getPointer(_env, mantissa_buf, &_mantissaArray, &_mantissaRemaining, &_mantissaBufferOffset);
4041 if (_mantissaRemaining < 16) {
4042 _exception = 1;
4043 _exceptionType = "java/lang/IllegalArgumentException";
4044 _exceptionMessage = "remaining() < 16 < needed";
4045 goto exit;
4046 }
4047 exponent = (GLint *)getPointer(_env, exponent_buf, &_exponentArray, &_exponentRemaining, &_exponentBufferOffset);
4048 if (_exponentRemaining < 16) {
4049 _exception = 1;
4050 _exceptionType = "java/lang/IllegalArgumentException";
4051 _exceptionMessage = "remaining() < 16 < needed";
4052 goto exit;
4053 }
4054 if (mantissa == NULL) {
4055 char * _mantissaBase = (char *)_env->GetPrimitiveArrayCritical(_mantissaArray, (jboolean *) 0);
4056 mantissa = (GLfixed *) (_mantissaBase + _mantissaBufferOffset);
4057 }
4058 if (exponent == NULL) {
4059 char * _exponentBase = (char *)_env->GetPrimitiveArrayCritical(_exponentArray, (jboolean *) 0);
4060 exponent = (GLint *) (_exponentBase + _exponentBufferOffset);
4061 }
4062 _returnValue = glQueryMatrixxOES(
4063 (GLfixed *)mantissa,
4064 (GLint *)exponent
4065 );
4066
4067 exit:
4068 if (_exponentArray) {
4069 releasePointer(_env, _exponentArray, exponent, _exception ? JNI_FALSE : JNI_TRUE);
4070 }
4071 if (_mantissaArray) {
4072 releasePointer(_env, _mantissaArray, mantissa, _exception ? JNI_FALSE : JNI_TRUE);
4073 }
4074 if (_exception) {
4075 jniThrowException(_env, _exceptionType, _exceptionMessage);
4076 }
4077 return _returnValue;
4078 }
4079
4080 /* void glBindBuffer ( GLenum target, GLuint buffer ) */
4081 static void
android_glBindBuffer__II(JNIEnv * _env,jobject _this,jint target,jint buffer)4082 android_glBindBuffer__II
4083 (JNIEnv *_env, jobject _this, jint target, jint buffer) {
4084 glBindBuffer(
4085 (GLenum)target,
4086 (GLuint)buffer
4087 );
4088 }
4089
4090 /* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */
4091 static void
android_glBufferData__IILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint target,jint size,jobject data_buf,jint usage)4092 android_glBufferData__IILjava_nio_Buffer_2I
4093 (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) {
4094 jint _exception = 0;
4095 const char * _exceptionType = NULL;
4096 const char * _exceptionMessage = NULL;
4097 jarray _array = (jarray) 0;
4098 jint _bufferOffset = (jint) 0;
4099 jint _remaining;
4100 GLvoid *data = (GLvoid *) 0;
4101
4102 if (data_buf) {
4103 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset);
4104 if (_remaining < size) {
4105 _exception = 1;
4106 _exceptionType = "java/lang/IllegalArgumentException";
4107 _exceptionMessage = "remaining() < size < needed";
4108 goto exit;
4109 }
4110 }
4111 if (data_buf && data == NULL) {
4112 char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4113 data = (GLvoid *) (_dataBase + _bufferOffset);
4114 }
4115 glBufferData(
4116 (GLenum)target,
4117 (GLsizeiptr)size,
4118 (GLvoid *)data,
4119 (GLenum)usage
4120 );
4121
4122 exit:
4123 if (_array) {
4124 releasePointer(_env, _array, data, JNI_FALSE);
4125 }
4126 if (_exception) {
4127 jniThrowException(_env, _exceptionType, _exceptionMessage);
4128 }
4129 }
4130
4131 /* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */
4132 static void
android_glBufferSubData__IIILjava_nio_Buffer_2(JNIEnv * _env,jobject _this,jint target,jint offset,jint size,jobject data_buf)4133 android_glBufferSubData__IIILjava_nio_Buffer_2
4134 (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) {
4135 jint _exception = 0;
4136 const char * _exceptionType = NULL;
4137 const char * _exceptionMessage = NULL;
4138 jarray _array = (jarray) 0;
4139 jint _bufferOffset = (jint) 0;
4140 jint _remaining;
4141 GLvoid *data = (GLvoid *) 0;
4142
4143 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset);
4144 if (_remaining < size) {
4145 _exception = 1;
4146 _exceptionType = "java/lang/IllegalArgumentException";
4147 _exceptionMessage = "remaining() < size < needed";
4148 goto exit;
4149 }
4150 if (data == NULL) {
4151 char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4152 data = (GLvoid *) (_dataBase + _bufferOffset);
4153 }
4154 glBufferSubData(
4155 (GLenum)target,
4156 (GLintptr)offset,
4157 (GLsizeiptr)size,
4158 (GLvoid *)data
4159 );
4160
4161 exit:
4162 if (_array) {
4163 releasePointer(_env, _array, data, JNI_FALSE);
4164 }
4165 if (_exception) {
4166 jniThrowException(_env, _exceptionType, _exceptionMessage);
4167 }
4168 }
4169
4170 /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */
4171 static void
android_glClipPlanef__I_3FI(JNIEnv * _env,jobject _this,jint plane,jfloatArray equation_ref,jint offset)4172 android_glClipPlanef__I_3FI
4173 (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) {
4174 jint _exception = 0;
4175 const char * _exceptionType = NULL;
4176 const char * _exceptionMessage = NULL;
4177 GLfloat *equation_base = (GLfloat *) 0;
4178 jint _remaining;
4179 GLfloat *equation = (GLfloat *) 0;
4180
4181 if (!equation_ref) {
4182 _exception = 1;
4183 _exceptionType = "java/lang/IllegalArgumentException";
4184 _exceptionMessage = "equation == null";
4185 goto exit;
4186 }
4187 if (offset < 0) {
4188 _exception = 1;
4189 _exceptionType = "java/lang/IllegalArgumentException";
4190 _exceptionMessage = "offset < 0";
4191 goto exit;
4192 }
4193 _remaining = _env->GetArrayLength(equation_ref) - offset;
4194 if (_remaining < 4) {
4195 _exception = 1;
4196 _exceptionType = "java/lang/IllegalArgumentException";
4197 _exceptionMessage = "length - offset < 4 < needed";
4198 goto exit;
4199 }
4200 equation_base = (GLfloat *)
4201 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
4202 equation = equation_base + offset;
4203
4204 glClipPlanef(
4205 (GLenum)plane,
4206 (GLfloat *)equation
4207 );
4208
4209 exit:
4210 if (equation_base) {
4211 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
4212 JNI_ABORT);
4213 }
4214 if (_exception) {
4215 jniThrowException(_env, _exceptionType, _exceptionMessage);
4216 }
4217 }
4218
4219 /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */
4220 static void
android_glClipPlanef__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint plane,jobject equation_buf)4221 android_glClipPlanef__ILjava_nio_FloatBuffer_2
4222 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
4223 jint _exception = 0;
4224 const char * _exceptionType = NULL;
4225 const char * _exceptionMessage = NULL;
4226 jarray _array = (jarray) 0;
4227 jint _bufferOffset = (jint) 0;
4228 jint _remaining;
4229 GLfloat *equation = (GLfloat *) 0;
4230
4231 equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
4232 if (_remaining < 4) {
4233 _exception = 1;
4234 _exceptionType = "java/lang/IllegalArgumentException";
4235 _exceptionMessage = "remaining() < 4 < needed";
4236 goto exit;
4237 }
4238 if (equation == NULL) {
4239 char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4240 equation = (GLfloat *) (_equationBase + _bufferOffset);
4241 }
4242 glClipPlanef(
4243 (GLenum)plane,
4244 (GLfloat *)equation
4245 );
4246
4247 exit:
4248 if (_array) {
4249 releasePointer(_env, _array, equation, JNI_FALSE);
4250 }
4251 if (_exception) {
4252 jniThrowException(_env, _exceptionType, _exceptionMessage);
4253 }
4254 }
4255
4256 /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */
4257 static void
android_glClipPlanex__I_3II(JNIEnv * _env,jobject _this,jint plane,jintArray equation_ref,jint offset)4258 android_glClipPlanex__I_3II
4259 (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) {
4260 jint _exception = 0;
4261 const char * _exceptionType = NULL;
4262 const char * _exceptionMessage = NULL;
4263 GLfixed *equation_base = (GLfixed *) 0;
4264 jint _remaining;
4265 GLfixed *equation = (GLfixed *) 0;
4266
4267 if (!equation_ref) {
4268 _exception = 1;
4269 _exceptionType = "java/lang/IllegalArgumentException";
4270 _exceptionMessage = "equation == null";
4271 goto exit;
4272 }
4273 if (offset < 0) {
4274 _exception = 1;
4275 _exceptionType = "java/lang/IllegalArgumentException";
4276 _exceptionMessage = "offset < 0";
4277 goto exit;
4278 }
4279 _remaining = _env->GetArrayLength(equation_ref) - offset;
4280 if (_remaining < 4) {
4281 _exception = 1;
4282 _exceptionType = "java/lang/IllegalArgumentException";
4283 _exceptionMessage = "length - offset < 4 < needed";
4284 goto exit;
4285 }
4286 equation_base = (GLfixed *)
4287 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
4288 equation = equation_base + offset;
4289
4290 glClipPlanex(
4291 (GLenum)plane,
4292 (GLfixed *)equation
4293 );
4294
4295 exit:
4296 if (equation_base) {
4297 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
4298 JNI_ABORT);
4299 }
4300 if (_exception) {
4301 jniThrowException(_env, _exceptionType, _exceptionMessage);
4302 }
4303 }
4304
4305 /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */
4306 static void
android_glClipPlanex__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint plane,jobject equation_buf)4307 android_glClipPlanex__ILjava_nio_IntBuffer_2
4308 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
4309 jint _exception = 0;
4310 const char * _exceptionType = NULL;
4311 const char * _exceptionMessage = NULL;
4312 jarray _array = (jarray) 0;
4313 jint _bufferOffset = (jint) 0;
4314 jint _remaining;
4315 GLfixed *equation = (GLfixed *) 0;
4316
4317 equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
4318 if (_remaining < 4) {
4319 _exception = 1;
4320 _exceptionType = "java/lang/IllegalArgumentException";
4321 _exceptionMessage = "remaining() < 4 < needed";
4322 goto exit;
4323 }
4324 if (equation == NULL) {
4325 char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4326 equation = (GLfixed *) (_equationBase + _bufferOffset);
4327 }
4328 glClipPlanex(
4329 (GLenum)plane,
4330 (GLfixed *)equation
4331 );
4332
4333 exit:
4334 if (_array) {
4335 releasePointer(_env, _array, equation, JNI_FALSE);
4336 }
4337 if (_exception) {
4338 jniThrowException(_env, _exceptionType, _exceptionMessage);
4339 }
4340 }
4341
4342 /* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */
4343 static void
android_glColor4ub__BBBB(JNIEnv * _env,jobject _this,jbyte red,jbyte green,jbyte blue,jbyte alpha)4344 android_glColor4ub__BBBB
4345 (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) {
4346 glColor4ub(
4347 (GLubyte)red,
4348 (GLubyte)green,
4349 (GLubyte)blue,
4350 (GLubyte)alpha
4351 );
4352 }
4353
4354 /* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
4355 static void
android_glColorPointer__IIII(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jint offset)4356 android_glColorPointer__IIII
4357 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
4358 glColorPointer(
4359 (GLint)size,
4360 (GLenum)type,
4361 (GLsizei)stride,
4362 (const GLvoid *)offset
4363 );
4364 }
4365
4366 /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */
4367 static void
android_glDeleteBuffers__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray buffers_ref,jint offset)4368 android_glDeleteBuffers__I_3II
4369 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) {
4370 jint _exception = 0;
4371 const char * _exceptionType = NULL;
4372 const char * _exceptionMessage = NULL;
4373 GLuint *buffers_base = (GLuint *) 0;
4374 jint _remaining;
4375 GLuint *buffers = (GLuint *) 0;
4376
4377 if (!buffers_ref) {
4378 _exception = 1;
4379 _exceptionType = "java/lang/IllegalArgumentException";
4380 _exceptionMessage = "buffers == null";
4381 goto exit;
4382 }
4383 if (offset < 0) {
4384 _exception = 1;
4385 _exceptionType = "java/lang/IllegalArgumentException";
4386 _exceptionMessage = "offset < 0";
4387 goto exit;
4388 }
4389 _remaining = _env->GetArrayLength(buffers_ref) - offset;
4390 if (_remaining < n) {
4391 _exception = 1;
4392 _exceptionType = "java/lang/IllegalArgumentException";
4393 _exceptionMessage = "length - offset < n < needed";
4394 goto exit;
4395 }
4396 buffers_base = (GLuint *)
4397 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0);
4398 buffers = buffers_base + offset;
4399
4400 glDeleteBuffers(
4401 (GLsizei)n,
4402 (GLuint *)buffers
4403 );
4404
4405 exit:
4406 if (buffers_base) {
4407 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base,
4408 JNI_ABORT);
4409 }
4410 if (_exception) {
4411 jniThrowException(_env, _exceptionType, _exceptionMessage);
4412 }
4413 }
4414
4415 /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */
4416 static void
android_glDeleteBuffers__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject buffers_buf)4417 android_glDeleteBuffers__ILjava_nio_IntBuffer_2
4418 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) {
4419 jint _exception = 0;
4420 const char * _exceptionType = NULL;
4421 const char * _exceptionMessage = NULL;
4422 jarray _array = (jarray) 0;
4423 jint _bufferOffset = (jint) 0;
4424 jint _remaining;
4425 GLuint *buffers = (GLuint *) 0;
4426
4427 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset);
4428 if (_remaining < n) {
4429 _exception = 1;
4430 _exceptionType = "java/lang/IllegalArgumentException";
4431 _exceptionMessage = "remaining() < n < needed";
4432 goto exit;
4433 }
4434 if (buffers == NULL) {
4435 char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4436 buffers = (GLuint *) (_buffersBase + _bufferOffset);
4437 }
4438 glDeleteBuffers(
4439 (GLsizei)n,
4440 (GLuint *)buffers
4441 );
4442
4443 exit:
4444 if (_array) {
4445 releasePointer(_env, _array, buffers, JNI_FALSE);
4446 }
4447 if (_exception) {
4448 jniThrowException(_env, _exceptionType, _exceptionMessage);
4449 }
4450 }
4451
4452 /* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */
4453 static void
android_glDrawElements__IIII(JNIEnv * _env,jobject _this,jint mode,jint count,jint type,jint offset)4454 android_glDrawElements__IIII
4455 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) {
4456 jint _exception = 0;
4457 const char * _exceptionType = NULL;
4458 const char * _exceptionMessage = NULL;
4459 glDrawElements(
4460 (GLenum)mode,
4461 (GLsizei)count,
4462 (GLenum)type,
4463 (const GLvoid *)offset
4464 );
4465 if (_exception) {
4466 jniThrowException(_env, _exceptionType, _exceptionMessage);
4467 }
4468 }
4469
4470 /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */
4471 static void
android_glGenBuffers__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray buffers_ref,jint offset)4472 android_glGenBuffers__I_3II
4473 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) {
4474 jint _exception = 0;
4475 const char * _exceptionType = NULL;
4476 const char * _exceptionMessage = NULL;
4477 GLuint *buffers_base = (GLuint *) 0;
4478 jint _remaining;
4479 GLuint *buffers = (GLuint *) 0;
4480
4481 if (!buffers_ref) {
4482 _exception = 1;
4483 _exceptionType = "java/lang/IllegalArgumentException";
4484 _exceptionMessage = "buffers == null";
4485 goto exit;
4486 }
4487 if (offset < 0) {
4488 _exception = 1;
4489 _exceptionType = "java/lang/IllegalArgumentException";
4490 _exceptionMessage = "offset < 0";
4491 goto exit;
4492 }
4493 _remaining = _env->GetArrayLength(buffers_ref) - offset;
4494 if (_remaining < n) {
4495 _exception = 1;
4496 _exceptionType = "java/lang/IllegalArgumentException";
4497 _exceptionMessage = "length - offset < n < needed";
4498 goto exit;
4499 }
4500 buffers_base = (GLuint *)
4501 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0);
4502 buffers = buffers_base + offset;
4503
4504 glGenBuffers(
4505 (GLsizei)n,
4506 (GLuint *)buffers
4507 );
4508
4509 exit:
4510 if (buffers_base) {
4511 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base,
4512 _exception ? JNI_ABORT: 0);
4513 }
4514 if (_exception) {
4515 jniThrowException(_env, _exceptionType, _exceptionMessage);
4516 }
4517 }
4518
4519 /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */
4520 static void
android_glGenBuffers__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject buffers_buf)4521 android_glGenBuffers__ILjava_nio_IntBuffer_2
4522 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) {
4523 jint _exception = 0;
4524 const char * _exceptionType = NULL;
4525 const char * _exceptionMessage = NULL;
4526 jarray _array = (jarray) 0;
4527 jint _bufferOffset = (jint) 0;
4528 jint _remaining;
4529 GLuint *buffers = (GLuint *) 0;
4530
4531 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset);
4532 if (_remaining < n) {
4533 _exception = 1;
4534 _exceptionType = "java/lang/IllegalArgumentException";
4535 _exceptionMessage = "remaining() < n < needed";
4536 goto exit;
4537 }
4538 if (buffers == NULL) {
4539 char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4540 buffers = (GLuint *) (_buffersBase + _bufferOffset);
4541 }
4542 glGenBuffers(
4543 (GLsizei)n,
4544 (GLuint *)buffers
4545 );
4546
4547 exit:
4548 if (_array) {
4549 releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE);
4550 }
4551 if (_exception) {
4552 jniThrowException(_env, _exceptionType, _exceptionMessage);
4553 }
4554 }
4555
4556 /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */
4557 static void
android_glGetBooleanv__I_3ZI(JNIEnv * _env,jobject _this,jint pname,jbooleanArray params_ref,jint offset)4558 android_glGetBooleanv__I_3ZI
4559 (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) {
4560 jint _exception = 0;
4561 const char * _exceptionType = NULL;
4562 const char * _exceptionMessage = NULL;
4563 GLboolean *params_base = (GLboolean *) 0;
4564 jint _remaining;
4565 GLboolean *params = (GLboolean *) 0;
4566
4567 if (!params_ref) {
4568 _exception = 1;
4569 _exceptionType = "java/lang/IllegalArgumentException";
4570 _exceptionMessage = "params == null";
4571 goto exit;
4572 }
4573 if (offset < 0) {
4574 _exception = 1;
4575 _exceptionType = "java/lang/IllegalArgumentException";
4576 _exceptionMessage = "offset < 0";
4577 goto exit;
4578 }
4579 _remaining = _env->GetArrayLength(params_ref) - offset;
4580 params_base = (GLboolean *)
4581 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
4582 params = params_base + offset;
4583
4584 glGetBooleanv(
4585 (GLenum)pname,
4586 (GLboolean *)params
4587 );
4588
4589 exit:
4590 if (params_base) {
4591 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
4592 _exception ? JNI_ABORT: 0);
4593 }
4594 if (_exception) {
4595 jniThrowException(_env, _exceptionType, _exceptionMessage);
4596 }
4597 }
4598
4599 /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */
4600 static void
android_glGetBooleanv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)4601 android_glGetBooleanv__ILjava_nio_IntBuffer_2
4602 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
4603 jarray _array = (jarray) 0;
4604 jint _bufferOffset = (jint) 0;
4605 jint _remaining;
4606 GLboolean *params = (GLboolean *) 0;
4607
4608 params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
4609 if (params == NULL) {
4610 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4611 params = (GLboolean *) (_paramsBase + _bufferOffset);
4612 }
4613 glGetBooleanv(
4614 (GLenum)pname,
4615 (GLboolean *)params
4616 );
4617 if (_array) {
4618 releasePointer(_env, _array, params, JNI_TRUE);
4619 }
4620 }
4621
4622 /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */
4623 static void
android_glGetBufferParameteriv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)4624 android_glGetBufferParameteriv__II_3II
4625 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
4626 jniThrowException(_env, "java/lang/UnsupportedOperationException",
4627 "glGetBufferParameteriv");
4628 }
4629
4630 /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */
4631 static void
android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)4632 android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2
4633 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
4634 jniThrowException(_env, "java/lang/UnsupportedOperationException",
4635 "glGetBufferParameteriv");
4636 }
4637
4638 /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */
4639 static void
android_glGetClipPlanef__I_3FI(JNIEnv * _env,jobject _this,jint pname,jfloatArray eqn_ref,jint offset)4640 android_glGetClipPlanef__I_3FI
4641 (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) {
4642 jint _exception = 0;
4643 const char * _exceptionType = NULL;
4644 const char * _exceptionMessage = NULL;
4645 GLfloat *eqn_base = (GLfloat *) 0;
4646 jint _remaining;
4647 GLfloat *eqn = (GLfloat *) 0;
4648
4649 if (!eqn_ref) {
4650 _exception = 1;
4651 _exceptionType = "java/lang/IllegalArgumentException";
4652 _exceptionMessage = "eqn == null";
4653 goto exit;
4654 }
4655 if (offset < 0) {
4656 _exception = 1;
4657 _exceptionType = "java/lang/IllegalArgumentException";
4658 _exceptionMessage = "offset < 0";
4659 goto exit;
4660 }
4661 _remaining = _env->GetArrayLength(eqn_ref) - offset;
4662 eqn_base = (GLfloat *)
4663 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
4664 eqn = eqn_base + offset;
4665
4666 glGetClipPlanef(
4667 (GLenum)pname,
4668 (GLfloat *)eqn
4669 );
4670
4671 exit:
4672 if (eqn_base) {
4673 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
4674 _exception ? JNI_ABORT: 0);
4675 }
4676 if (_exception) {
4677 jniThrowException(_env, _exceptionType, _exceptionMessage);
4678 }
4679 }
4680
4681 /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */
4682 static void
android_glGetClipPlanef__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject eqn_buf)4683 android_glGetClipPlanef__ILjava_nio_FloatBuffer_2
4684 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
4685 jarray _array = (jarray) 0;
4686 jint _bufferOffset = (jint) 0;
4687 jint _remaining;
4688 GLfloat *eqn = (GLfloat *) 0;
4689
4690 eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
4691 if (eqn == NULL) {
4692 char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4693 eqn = (GLfloat *) (_eqnBase + _bufferOffset);
4694 }
4695 glGetClipPlanef(
4696 (GLenum)pname,
4697 (GLfloat *)eqn
4698 );
4699 if (_array) {
4700 releasePointer(_env, _array, eqn, JNI_TRUE);
4701 }
4702 }
4703
4704 /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */
4705 static void
android_glGetClipPlanex__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray eqn_ref,jint offset)4706 android_glGetClipPlanex__I_3II
4707 (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) {
4708 jint _exception = 0;
4709 const char * _exceptionType = NULL;
4710 const char * _exceptionMessage = NULL;
4711 GLfixed *eqn_base = (GLfixed *) 0;
4712 jint _remaining;
4713 GLfixed *eqn = (GLfixed *) 0;
4714
4715 if (!eqn_ref) {
4716 _exception = 1;
4717 _exceptionType = "java/lang/IllegalArgumentException";
4718 _exceptionMessage = "eqn == null";
4719 goto exit;
4720 }
4721 if (offset < 0) {
4722 _exception = 1;
4723 _exceptionType = "java/lang/IllegalArgumentException";
4724 _exceptionMessage = "offset < 0";
4725 goto exit;
4726 }
4727 _remaining = _env->GetArrayLength(eqn_ref) - offset;
4728 eqn_base = (GLfixed *)
4729 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
4730 eqn = eqn_base + offset;
4731
4732 glGetClipPlanex(
4733 (GLenum)pname,
4734 (GLfixed *)eqn
4735 );
4736
4737 exit:
4738 if (eqn_base) {
4739 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
4740 _exception ? JNI_ABORT: 0);
4741 }
4742 if (_exception) {
4743 jniThrowException(_env, _exceptionType, _exceptionMessage);
4744 }
4745 }
4746
4747 /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */
4748 static void
android_glGetClipPlanex__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject eqn_buf)4749 android_glGetClipPlanex__ILjava_nio_IntBuffer_2
4750 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
4751 jarray _array = (jarray) 0;
4752 jint _bufferOffset = (jint) 0;
4753 jint _remaining;
4754 GLfixed *eqn = (GLfixed *) 0;
4755
4756 eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
4757 if (eqn == NULL) {
4758 char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4759 eqn = (GLfixed *) (_eqnBase + _bufferOffset);
4760 }
4761 glGetClipPlanex(
4762 (GLenum)pname,
4763 (GLfixed *)eqn
4764 );
4765 if (_array) {
4766 releasePointer(_env, _array, eqn, JNI_TRUE);
4767 }
4768 }
4769
4770 /* void glGetFixedv ( GLenum pname, GLfixed *params ) */
4771 static void
android_glGetFixedv__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray params_ref,jint offset)4772 android_glGetFixedv__I_3II
4773 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
4774 jint _exception = 0;
4775 const char * _exceptionType = NULL;
4776 const char * _exceptionMessage = NULL;
4777 GLfixed *params_base = (GLfixed *) 0;
4778 jint _remaining;
4779 GLfixed *params = (GLfixed *) 0;
4780
4781 if (!params_ref) {
4782 _exception = 1;
4783 _exceptionType = "java/lang/IllegalArgumentException";
4784 _exceptionMessage = "params == null";
4785 goto exit;
4786 }
4787 if (offset < 0) {
4788 _exception = 1;
4789 _exceptionType = "java/lang/IllegalArgumentException";
4790 _exceptionMessage = "offset < 0";
4791 goto exit;
4792 }
4793 _remaining = _env->GetArrayLength(params_ref) - offset;
4794 params_base = (GLfixed *)
4795 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
4796 params = params_base + offset;
4797
4798 glGetFixedv(
4799 (GLenum)pname,
4800 (GLfixed *)params
4801 );
4802
4803 exit:
4804 if (params_base) {
4805 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
4806 _exception ? JNI_ABORT: 0);
4807 }
4808 if (_exception) {
4809 jniThrowException(_env, _exceptionType, _exceptionMessage);
4810 }
4811 }
4812
4813 /* void glGetFixedv ( GLenum pname, GLfixed *params ) */
4814 static void
android_glGetFixedv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)4815 android_glGetFixedv__ILjava_nio_IntBuffer_2
4816 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
4817 jarray _array = (jarray) 0;
4818 jint _bufferOffset = (jint) 0;
4819 jint _remaining;
4820 GLfixed *params = (GLfixed *) 0;
4821
4822 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
4823 if (params == NULL) {
4824 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4825 params = (GLfixed *) (_paramsBase + _bufferOffset);
4826 }
4827 glGetFixedv(
4828 (GLenum)pname,
4829 (GLfixed *)params
4830 );
4831 if (_array) {
4832 releasePointer(_env, _array, params, JNI_TRUE);
4833 }
4834 }
4835
4836 /* void glGetFloatv ( GLenum pname, GLfloat *params ) */
4837 static void
android_glGetFloatv__I_3FI(JNIEnv * _env,jobject _this,jint pname,jfloatArray params_ref,jint offset)4838 android_glGetFloatv__I_3FI
4839 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
4840 jint _exception = 0;
4841 const char * _exceptionType = NULL;
4842 const char * _exceptionMessage = NULL;
4843 GLfloat *params_base = (GLfloat *) 0;
4844 jint _remaining;
4845 GLfloat *params = (GLfloat *) 0;
4846
4847 if (!params_ref) {
4848 _exception = 1;
4849 _exceptionType = "java/lang/IllegalArgumentException";
4850 _exceptionMessage = "params == null";
4851 goto exit;
4852 }
4853 if (offset < 0) {
4854 _exception = 1;
4855 _exceptionType = "java/lang/IllegalArgumentException";
4856 _exceptionMessage = "offset < 0";
4857 goto exit;
4858 }
4859 _remaining = _env->GetArrayLength(params_ref) - offset;
4860 params_base = (GLfloat *)
4861 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
4862 params = params_base + offset;
4863
4864 glGetFloatv(
4865 (GLenum)pname,
4866 (GLfloat *)params
4867 );
4868
4869 exit:
4870 if (params_base) {
4871 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
4872 _exception ? JNI_ABORT: 0);
4873 }
4874 if (_exception) {
4875 jniThrowException(_env, _exceptionType, _exceptionMessage);
4876 }
4877 }
4878
4879 /* void glGetFloatv ( GLenum pname, GLfloat *params ) */
4880 static void
android_glGetFloatv__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)4881 android_glGetFloatv__ILjava_nio_FloatBuffer_2
4882 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
4883 jarray _array = (jarray) 0;
4884 jint _bufferOffset = (jint) 0;
4885 jint _remaining;
4886 GLfloat *params = (GLfloat *) 0;
4887
4888 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
4889 if (params == NULL) {
4890 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
4891 params = (GLfloat *) (_paramsBase + _bufferOffset);
4892 }
4893 glGetFloatv(
4894 (GLenum)pname,
4895 (GLfloat *)params
4896 );
4897 if (_array) {
4898 releasePointer(_env, _array, params, JNI_TRUE);
4899 }
4900 }
4901
4902 /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */
4903 static void
android_glGetLightfv__II_3FI(JNIEnv * _env,jobject _this,jint light,jint pname,jfloatArray params_ref,jint offset)4904 android_glGetLightfv__II_3FI
4905 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) {
4906 jint _exception = 0;
4907 const char * _exceptionType = NULL;
4908 const char * _exceptionMessage = NULL;
4909 GLfloat *params_base = (GLfloat *) 0;
4910 jint _remaining;
4911 GLfloat *params = (GLfloat *) 0;
4912
4913 if (!params_ref) {
4914 _exception = 1;
4915 _exceptionType = "java/lang/IllegalArgumentException";
4916 _exceptionMessage = "params == null";
4917 goto exit;
4918 }
4919 if (offset < 0) {
4920 _exception = 1;
4921 _exceptionType = "java/lang/IllegalArgumentException";
4922 _exceptionMessage = "offset < 0";
4923 goto exit;
4924 }
4925 _remaining = _env->GetArrayLength(params_ref) - offset;
4926 int _needed;
4927 switch (pname) {
4928 #if defined(GL_SPOT_EXPONENT)
4929 case GL_SPOT_EXPONENT:
4930 #endif // defined(GL_SPOT_EXPONENT)
4931 #if defined(GL_SPOT_CUTOFF)
4932 case GL_SPOT_CUTOFF:
4933 #endif // defined(GL_SPOT_CUTOFF)
4934 #if defined(GL_CONSTANT_ATTENUATION)
4935 case GL_CONSTANT_ATTENUATION:
4936 #endif // defined(GL_CONSTANT_ATTENUATION)
4937 #if defined(GL_LINEAR_ATTENUATION)
4938 case GL_LINEAR_ATTENUATION:
4939 #endif // defined(GL_LINEAR_ATTENUATION)
4940 #if defined(GL_QUADRATIC_ATTENUATION)
4941 case GL_QUADRATIC_ATTENUATION:
4942 #endif // defined(GL_QUADRATIC_ATTENUATION)
4943 _needed = 1;
4944 break;
4945 #if defined(GL_SPOT_DIRECTION)
4946 case GL_SPOT_DIRECTION:
4947 #endif // defined(GL_SPOT_DIRECTION)
4948 _needed = 3;
4949 break;
4950 #if defined(GL_AMBIENT)
4951 case GL_AMBIENT:
4952 #endif // defined(GL_AMBIENT)
4953 #if defined(GL_DIFFUSE)
4954 case GL_DIFFUSE:
4955 #endif // defined(GL_DIFFUSE)
4956 #if defined(GL_SPECULAR)
4957 case GL_SPECULAR:
4958 #endif // defined(GL_SPECULAR)
4959 #if defined(GL_EMISSION)
4960 case GL_EMISSION:
4961 #endif // defined(GL_EMISSION)
4962 _needed = 4;
4963 break;
4964 default:
4965 _needed = 1;
4966 break;
4967 }
4968 if (_remaining < _needed) {
4969 _exception = 1;
4970 _exceptionType = "java/lang/IllegalArgumentException";
4971 _exceptionMessage = "length - offset < needed";
4972 goto exit;
4973 }
4974 params_base = (GLfloat *)
4975 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
4976 params = params_base + offset;
4977
4978 glGetLightfv(
4979 (GLenum)light,
4980 (GLenum)pname,
4981 (GLfloat *)params
4982 );
4983
4984 exit:
4985 if (params_base) {
4986 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
4987 _exception ? JNI_ABORT: 0);
4988 }
4989 if (_exception) {
4990 jniThrowException(_env, _exceptionType, _exceptionMessage);
4991 }
4992 }
4993
4994 /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */
4995 static void
android_glGetLightfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint light,jint pname,jobject params_buf)4996 android_glGetLightfv__IILjava_nio_FloatBuffer_2
4997 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
4998 jint _exception = 0;
4999 const char * _exceptionType = NULL;
5000 const char * _exceptionMessage = NULL;
5001 jarray _array = (jarray) 0;
5002 jint _bufferOffset = (jint) 0;
5003 jint _remaining;
5004 GLfloat *params = (GLfloat *) 0;
5005
5006 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5007 int _needed;
5008 switch (pname) {
5009 #if defined(GL_SPOT_EXPONENT)
5010 case GL_SPOT_EXPONENT:
5011 #endif // defined(GL_SPOT_EXPONENT)
5012 #if defined(GL_SPOT_CUTOFF)
5013 case GL_SPOT_CUTOFF:
5014 #endif // defined(GL_SPOT_CUTOFF)
5015 #if defined(GL_CONSTANT_ATTENUATION)
5016 case GL_CONSTANT_ATTENUATION:
5017 #endif // defined(GL_CONSTANT_ATTENUATION)
5018 #if defined(GL_LINEAR_ATTENUATION)
5019 case GL_LINEAR_ATTENUATION:
5020 #endif // defined(GL_LINEAR_ATTENUATION)
5021 #if defined(GL_QUADRATIC_ATTENUATION)
5022 case GL_QUADRATIC_ATTENUATION:
5023 #endif // defined(GL_QUADRATIC_ATTENUATION)
5024 _needed = 1;
5025 break;
5026 #if defined(GL_SPOT_DIRECTION)
5027 case GL_SPOT_DIRECTION:
5028 #endif // defined(GL_SPOT_DIRECTION)
5029 _needed = 3;
5030 break;
5031 #if defined(GL_AMBIENT)
5032 case GL_AMBIENT:
5033 #endif // defined(GL_AMBIENT)
5034 #if defined(GL_DIFFUSE)
5035 case GL_DIFFUSE:
5036 #endif // defined(GL_DIFFUSE)
5037 #if defined(GL_SPECULAR)
5038 case GL_SPECULAR:
5039 #endif // defined(GL_SPECULAR)
5040 #if defined(GL_EMISSION)
5041 case GL_EMISSION:
5042 #endif // defined(GL_EMISSION)
5043 _needed = 4;
5044 break;
5045 default:
5046 _needed = 1;
5047 break;
5048 }
5049 if (_remaining < _needed) {
5050 _exception = 1;
5051 _exceptionType = "java/lang/IllegalArgumentException";
5052 _exceptionMessage = "remaining() < needed";
5053 goto exit;
5054 }
5055 if (params == NULL) {
5056 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5057 params = (GLfloat *) (_paramsBase + _bufferOffset);
5058 }
5059 glGetLightfv(
5060 (GLenum)light,
5061 (GLenum)pname,
5062 (GLfloat *)params
5063 );
5064
5065 exit:
5066 if (_array) {
5067 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5068 }
5069 if (_exception) {
5070 jniThrowException(_env, _exceptionType, _exceptionMessage);
5071 }
5072 }
5073
5074 /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */
5075 static void
android_glGetLightxv__II_3II(JNIEnv * _env,jobject _this,jint light,jint pname,jintArray params_ref,jint offset)5076 android_glGetLightxv__II_3II
5077 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
5078 jint _exception = 0;
5079 const char * _exceptionType = NULL;
5080 const char * _exceptionMessage = NULL;
5081 GLfixed *params_base = (GLfixed *) 0;
5082 jint _remaining;
5083 GLfixed *params = (GLfixed *) 0;
5084
5085 if (!params_ref) {
5086 _exception = 1;
5087 _exceptionType = "java/lang/IllegalArgumentException";
5088 _exceptionMessage = "params == null";
5089 goto exit;
5090 }
5091 if (offset < 0) {
5092 _exception = 1;
5093 _exceptionType = "java/lang/IllegalArgumentException";
5094 _exceptionMessage = "offset < 0";
5095 goto exit;
5096 }
5097 _remaining = _env->GetArrayLength(params_ref) - offset;
5098 int _needed;
5099 switch (pname) {
5100 #if defined(GL_SPOT_EXPONENT)
5101 case GL_SPOT_EXPONENT:
5102 #endif // defined(GL_SPOT_EXPONENT)
5103 #if defined(GL_SPOT_CUTOFF)
5104 case GL_SPOT_CUTOFF:
5105 #endif // defined(GL_SPOT_CUTOFF)
5106 #if defined(GL_CONSTANT_ATTENUATION)
5107 case GL_CONSTANT_ATTENUATION:
5108 #endif // defined(GL_CONSTANT_ATTENUATION)
5109 #if defined(GL_LINEAR_ATTENUATION)
5110 case GL_LINEAR_ATTENUATION:
5111 #endif // defined(GL_LINEAR_ATTENUATION)
5112 #if defined(GL_QUADRATIC_ATTENUATION)
5113 case GL_QUADRATIC_ATTENUATION:
5114 #endif // defined(GL_QUADRATIC_ATTENUATION)
5115 _needed = 1;
5116 break;
5117 #if defined(GL_SPOT_DIRECTION)
5118 case GL_SPOT_DIRECTION:
5119 #endif // defined(GL_SPOT_DIRECTION)
5120 _needed = 3;
5121 break;
5122 #if defined(GL_AMBIENT)
5123 case GL_AMBIENT:
5124 #endif // defined(GL_AMBIENT)
5125 #if defined(GL_DIFFUSE)
5126 case GL_DIFFUSE:
5127 #endif // defined(GL_DIFFUSE)
5128 #if defined(GL_SPECULAR)
5129 case GL_SPECULAR:
5130 #endif // defined(GL_SPECULAR)
5131 #if defined(GL_EMISSION)
5132 case GL_EMISSION:
5133 #endif // defined(GL_EMISSION)
5134 _needed = 4;
5135 break;
5136 default:
5137 _needed = 1;
5138 break;
5139 }
5140 if (_remaining < _needed) {
5141 _exception = 1;
5142 _exceptionType = "java/lang/IllegalArgumentException";
5143 _exceptionMessage = "length - offset < needed";
5144 goto exit;
5145 }
5146 params_base = (GLfixed *)
5147 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5148 params = params_base + offset;
5149
5150 glGetLightxv(
5151 (GLenum)light,
5152 (GLenum)pname,
5153 (GLfixed *)params
5154 );
5155
5156 exit:
5157 if (params_base) {
5158 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5159 _exception ? JNI_ABORT: 0);
5160 }
5161 if (_exception) {
5162 jniThrowException(_env, _exceptionType, _exceptionMessage);
5163 }
5164 }
5165
5166 /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */
5167 static void
android_glGetLightxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint light,jint pname,jobject params_buf)5168 android_glGetLightxv__IILjava_nio_IntBuffer_2
5169 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
5170 jint _exception = 0;
5171 const char * _exceptionType = NULL;
5172 const char * _exceptionMessage = NULL;
5173 jarray _array = (jarray) 0;
5174 jint _bufferOffset = (jint) 0;
5175 jint _remaining;
5176 GLfixed *params = (GLfixed *) 0;
5177
5178 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5179 int _needed;
5180 switch (pname) {
5181 #if defined(GL_SPOT_EXPONENT)
5182 case GL_SPOT_EXPONENT:
5183 #endif // defined(GL_SPOT_EXPONENT)
5184 #if defined(GL_SPOT_CUTOFF)
5185 case GL_SPOT_CUTOFF:
5186 #endif // defined(GL_SPOT_CUTOFF)
5187 #if defined(GL_CONSTANT_ATTENUATION)
5188 case GL_CONSTANT_ATTENUATION:
5189 #endif // defined(GL_CONSTANT_ATTENUATION)
5190 #if defined(GL_LINEAR_ATTENUATION)
5191 case GL_LINEAR_ATTENUATION:
5192 #endif // defined(GL_LINEAR_ATTENUATION)
5193 #if defined(GL_QUADRATIC_ATTENUATION)
5194 case GL_QUADRATIC_ATTENUATION:
5195 #endif // defined(GL_QUADRATIC_ATTENUATION)
5196 _needed = 1;
5197 break;
5198 #if defined(GL_SPOT_DIRECTION)
5199 case GL_SPOT_DIRECTION:
5200 #endif // defined(GL_SPOT_DIRECTION)
5201 _needed = 3;
5202 break;
5203 #if defined(GL_AMBIENT)
5204 case GL_AMBIENT:
5205 #endif // defined(GL_AMBIENT)
5206 #if defined(GL_DIFFUSE)
5207 case GL_DIFFUSE:
5208 #endif // defined(GL_DIFFUSE)
5209 #if defined(GL_SPECULAR)
5210 case GL_SPECULAR:
5211 #endif // defined(GL_SPECULAR)
5212 #if defined(GL_EMISSION)
5213 case GL_EMISSION:
5214 #endif // defined(GL_EMISSION)
5215 _needed = 4;
5216 break;
5217 default:
5218 _needed = 1;
5219 break;
5220 }
5221 if (_remaining < _needed) {
5222 _exception = 1;
5223 _exceptionType = "java/lang/IllegalArgumentException";
5224 _exceptionMessage = "remaining() < needed";
5225 goto exit;
5226 }
5227 if (params == NULL) {
5228 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5229 params = (GLfixed *) (_paramsBase + _bufferOffset);
5230 }
5231 glGetLightxv(
5232 (GLenum)light,
5233 (GLenum)pname,
5234 (GLfixed *)params
5235 );
5236
5237 exit:
5238 if (_array) {
5239 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5240 }
5241 if (_exception) {
5242 jniThrowException(_env, _exceptionType, _exceptionMessage);
5243 }
5244 }
5245
5246 /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */
5247 static void
android_glGetMaterialfv__II_3FI(JNIEnv * _env,jobject _this,jint face,jint pname,jfloatArray params_ref,jint offset)5248 android_glGetMaterialfv__II_3FI
5249 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) {
5250 jint _exception = 0;
5251 const char * _exceptionType = NULL;
5252 const char * _exceptionMessage = NULL;
5253 GLfloat *params_base = (GLfloat *) 0;
5254 jint _remaining;
5255 GLfloat *params = (GLfloat *) 0;
5256
5257 if (!params_ref) {
5258 _exception = 1;
5259 _exceptionType = "java/lang/IllegalArgumentException";
5260 _exceptionMessage = "params == null";
5261 goto exit;
5262 }
5263 if (offset < 0) {
5264 _exception = 1;
5265 _exceptionType = "java/lang/IllegalArgumentException";
5266 _exceptionMessage = "offset < 0";
5267 goto exit;
5268 }
5269 _remaining = _env->GetArrayLength(params_ref) - offset;
5270 int _needed;
5271 switch (pname) {
5272 #if defined(GL_SHININESS)
5273 case GL_SHININESS:
5274 #endif // defined(GL_SHININESS)
5275 _needed = 1;
5276 break;
5277 #if defined(GL_AMBIENT)
5278 case GL_AMBIENT:
5279 #endif // defined(GL_AMBIENT)
5280 #if defined(GL_DIFFUSE)
5281 case GL_DIFFUSE:
5282 #endif // defined(GL_DIFFUSE)
5283 #if defined(GL_SPECULAR)
5284 case GL_SPECULAR:
5285 #endif // defined(GL_SPECULAR)
5286 #if defined(GL_EMISSION)
5287 case GL_EMISSION:
5288 #endif // defined(GL_EMISSION)
5289 #if defined(GL_AMBIENT_AND_DIFFUSE)
5290 case GL_AMBIENT_AND_DIFFUSE:
5291 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
5292 _needed = 4;
5293 break;
5294 default:
5295 _needed = 1;
5296 break;
5297 }
5298 if (_remaining < _needed) {
5299 _exception = 1;
5300 _exceptionType = "java/lang/IllegalArgumentException";
5301 _exceptionMessage = "length - offset < needed";
5302 goto exit;
5303 }
5304 params_base = (GLfloat *)
5305 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5306 params = params_base + offset;
5307
5308 glGetMaterialfv(
5309 (GLenum)face,
5310 (GLenum)pname,
5311 (GLfloat *)params
5312 );
5313
5314 exit:
5315 if (params_base) {
5316 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5317 _exception ? JNI_ABORT: 0);
5318 }
5319 if (_exception) {
5320 jniThrowException(_env, _exceptionType, _exceptionMessage);
5321 }
5322 }
5323
5324 /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */
5325 static void
android_glGetMaterialfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint face,jint pname,jobject params_buf)5326 android_glGetMaterialfv__IILjava_nio_FloatBuffer_2
5327 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
5328 jint _exception = 0;
5329 const char * _exceptionType = NULL;
5330 const char * _exceptionMessage = NULL;
5331 jarray _array = (jarray) 0;
5332 jint _bufferOffset = (jint) 0;
5333 jint _remaining;
5334 GLfloat *params = (GLfloat *) 0;
5335
5336 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5337 int _needed;
5338 switch (pname) {
5339 #if defined(GL_SHININESS)
5340 case GL_SHININESS:
5341 #endif // defined(GL_SHININESS)
5342 _needed = 1;
5343 break;
5344 #if defined(GL_AMBIENT)
5345 case GL_AMBIENT:
5346 #endif // defined(GL_AMBIENT)
5347 #if defined(GL_DIFFUSE)
5348 case GL_DIFFUSE:
5349 #endif // defined(GL_DIFFUSE)
5350 #if defined(GL_SPECULAR)
5351 case GL_SPECULAR:
5352 #endif // defined(GL_SPECULAR)
5353 #if defined(GL_EMISSION)
5354 case GL_EMISSION:
5355 #endif // defined(GL_EMISSION)
5356 #if defined(GL_AMBIENT_AND_DIFFUSE)
5357 case GL_AMBIENT_AND_DIFFUSE:
5358 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
5359 _needed = 4;
5360 break;
5361 default:
5362 _needed = 1;
5363 break;
5364 }
5365 if (_remaining < _needed) {
5366 _exception = 1;
5367 _exceptionType = "java/lang/IllegalArgumentException";
5368 _exceptionMessage = "remaining() < needed";
5369 goto exit;
5370 }
5371 if (params == NULL) {
5372 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5373 params = (GLfloat *) (_paramsBase + _bufferOffset);
5374 }
5375 glGetMaterialfv(
5376 (GLenum)face,
5377 (GLenum)pname,
5378 (GLfloat *)params
5379 );
5380
5381 exit:
5382 if (_array) {
5383 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5384 }
5385 if (_exception) {
5386 jniThrowException(_env, _exceptionType, _exceptionMessage);
5387 }
5388 }
5389
5390 /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */
5391 static void
android_glGetMaterialxv__II_3II(JNIEnv * _env,jobject _this,jint face,jint pname,jintArray params_ref,jint offset)5392 android_glGetMaterialxv__II_3II
5393 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
5394 jint _exception = 0;
5395 const char * _exceptionType = NULL;
5396 const char * _exceptionMessage = NULL;
5397 GLfixed *params_base = (GLfixed *) 0;
5398 jint _remaining;
5399 GLfixed *params = (GLfixed *) 0;
5400
5401 if (!params_ref) {
5402 _exception = 1;
5403 _exceptionType = "java/lang/IllegalArgumentException";
5404 _exceptionMessage = "params == null";
5405 goto exit;
5406 }
5407 if (offset < 0) {
5408 _exception = 1;
5409 _exceptionType = "java/lang/IllegalArgumentException";
5410 _exceptionMessage = "offset < 0";
5411 goto exit;
5412 }
5413 _remaining = _env->GetArrayLength(params_ref) - offset;
5414 int _needed;
5415 switch (pname) {
5416 #if defined(GL_SHININESS)
5417 case GL_SHININESS:
5418 #endif // defined(GL_SHININESS)
5419 _needed = 1;
5420 break;
5421 #if defined(GL_AMBIENT)
5422 case GL_AMBIENT:
5423 #endif // defined(GL_AMBIENT)
5424 #if defined(GL_DIFFUSE)
5425 case GL_DIFFUSE:
5426 #endif // defined(GL_DIFFUSE)
5427 #if defined(GL_SPECULAR)
5428 case GL_SPECULAR:
5429 #endif // defined(GL_SPECULAR)
5430 #if defined(GL_EMISSION)
5431 case GL_EMISSION:
5432 #endif // defined(GL_EMISSION)
5433 #if defined(GL_AMBIENT_AND_DIFFUSE)
5434 case GL_AMBIENT_AND_DIFFUSE:
5435 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
5436 _needed = 4;
5437 break;
5438 default:
5439 _needed = 1;
5440 break;
5441 }
5442 if (_remaining < _needed) {
5443 _exception = 1;
5444 _exceptionType = "java/lang/IllegalArgumentException";
5445 _exceptionMessage = "length - offset < needed";
5446 goto exit;
5447 }
5448 params_base = (GLfixed *)
5449 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5450 params = params_base + offset;
5451
5452 glGetMaterialxv(
5453 (GLenum)face,
5454 (GLenum)pname,
5455 (GLfixed *)params
5456 );
5457
5458 exit:
5459 if (params_base) {
5460 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5461 _exception ? JNI_ABORT: 0);
5462 }
5463 if (_exception) {
5464 jniThrowException(_env, _exceptionType, _exceptionMessage);
5465 }
5466 }
5467
5468 /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */
5469 static void
android_glGetMaterialxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint face,jint pname,jobject params_buf)5470 android_glGetMaterialxv__IILjava_nio_IntBuffer_2
5471 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
5472 jint _exception = 0;
5473 const char * _exceptionType = NULL;
5474 const char * _exceptionMessage = NULL;
5475 jarray _array = (jarray) 0;
5476 jint _bufferOffset = (jint) 0;
5477 jint _remaining;
5478 GLfixed *params = (GLfixed *) 0;
5479
5480 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5481 int _needed;
5482 switch (pname) {
5483 #if defined(GL_SHININESS)
5484 case GL_SHININESS:
5485 #endif // defined(GL_SHININESS)
5486 _needed = 1;
5487 break;
5488 #if defined(GL_AMBIENT)
5489 case GL_AMBIENT:
5490 #endif // defined(GL_AMBIENT)
5491 #if defined(GL_DIFFUSE)
5492 case GL_DIFFUSE:
5493 #endif // defined(GL_DIFFUSE)
5494 #if defined(GL_SPECULAR)
5495 case GL_SPECULAR:
5496 #endif // defined(GL_SPECULAR)
5497 #if defined(GL_EMISSION)
5498 case GL_EMISSION:
5499 #endif // defined(GL_EMISSION)
5500 #if defined(GL_AMBIENT_AND_DIFFUSE)
5501 case GL_AMBIENT_AND_DIFFUSE:
5502 #endif // defined(GL_AMBIENT_AND_DIFFUSE)
5503 _needed = 4;
5504 break;
5505 default:
5506 _needed = 1;
5507 break;
5508 }
5509 if (_remaining < _needed) {
5510 _exception = 1;
5511 _exceptionType = "java/lang/IllegalArgumentException";
5512 _exceptionMessage = "remaining() < needed";
5513 goto exit;
5514 }
5515 if (params == NULL) {
5516 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5517 params = (GLfixed *) (_paramsBase + _bufferOffset);
5518 }
5519 glGetMaterialxv(
5520 (GLenum)face,
5521 (GLenum)pname,
5522 (GLfixed *)params
5523 );
5524
5525 exit:
5526 if (_array) {
5527 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5528 }
5529 if (_exception) {
5530 jniThrowException(_env, _exceptionType, _exceptionMessage);
5531 }
5532 }
5533
5534 /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */
5535 static void
android_glGetTexEnviv__II_3II(JNIEnv * _env,jobject _this,jint env,jint pname,jintArray params_ref,jint offset)5536 android_glGetTexEnviv__II_3II
5537 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
5538 jint _exception = 0;
5539 const char * _exceptionType = NULL;
5540 const char * _exceptionMessage = NULL;
5541 GLint *params_base = (GLint *) 0;
5542 jint _remaining;
5543 GLint *params = (GLint *) 0;
5544
5545 if (!params_ref) {
5546 _exception = 1;
5547 _exceptionType = "java/lang/IllegalArgumentException";
5548 _exceptionMessage = "params == null";
5549 goto exit;
5550 }
5551 if (offset < 0) {
5552 _exception = 1;
5553 _exceptionType = "java/lang/IllegalArgumentException";
5554 _exceptionMessage = "offset < 0";
5555 goto exit;
5556 }
5557 _remaining = _env->GetArrayLength(params_ref) - offset;
5558 int _needed;
5559 switch (pname) {
5560 #if defined(GL_TEXTURE_ENV_MODE)
5561 case GL_TEXTURE_ENV_MODE:
5562 #endif // defined(GL_TEXTURE_ENV_MODE)
5563 #if defined(GL_COMBINE_RGB)
5564 case GL_COMBINE_RGB:
5565 #endif // defined(GL_COMBINE_RGB)
5566 #if defined(GL_COMBINE_ALPHA)
5567 case GL_COMBINE_ALPHA:
5568 #endif // defined(GL_COMBINE_ALPHA)
5569 _needed = 1;
5570 break;
5571 #if defined(GL_TEXTURE_ENV_COLOR)
5572 case GL_TEXTURE_ENV_COLOR:
5573 #endif // defined(GL_TEXTURE_ENV_COLOR)
5574 _needed = 4;
5575 break;
5576 default:
5577 _needed = 1;
5578 break;
5579 }
5580 if (_remaining < _needed) {
5581 _exception = 1;
5582 _exceptionType = "java/lang/IllegalArgumentException";
5583 _exceptionMessage = "length - offset < needed";
5584 goto exit;
5585 }
5586 params_base = (GLint *)
5587 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5588 params = params_base + offset;
5589
5590 glGetTexEnviv(
5591 (GLenum)env,
5592 (GLenum)pname,
5593 (GLint *)params
5594 );
5595
5596 exit:
5597 if (params_base) {
5598 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5599 _exception ? JNI_ABORT: 0);
5600 }
5601 if (_exception) {
5602 jniThrowException(_env, _exceptionType, _exceptionMessage);
5603 }
5604 }
5605
5606 /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */
5607 static void
android_glGetTexEnviv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint env,jint pname,jobject params_buf)5608 android_glGetTexEnviv__IILjava_nio_IntBuffer_2
5609 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
5610 jint _exception = 0;
5611 const char * _exceptionType = NULL;
5612 const char * _exceptionMessage = NULL;
5613 jarray _array = (jarray) 0;
5614 jint _bufferOffset = (jint) 0;
5615 jint _remaining;
5616 GLint *params = (GLint *) 0;
5617
5618 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5619 int _needed;
5620 switch (pname) {
5621 #if defined(GL_TEXTURE_ENV_MODE)
5622 case GL_TEXTURE_ENV_MODE:
5623 #endif // defined(GL_TEXTURE_ENV_MODE)
5624 #if defined(GL_COMBINE_RGB)
5625 case GL_COMBINE_RGB:
5626 #endif // defined(GL_COMBINE_RGB)
5627 #if defined(GL_COMBINE_ALPHA)
5628 case GL_COMBINE_ALPHA:
5629 #endif // defined(GL_COMBINE_ALPHA)
5630 _needed = 1;
5631 break;
5632 #if defined(GL_TEXTURE_ENV_COLOR)
5633 case GL_TEXTURE_ENV_COLOR:
5634 #endif // defined(GL_TEXTURE_ENV_COLOR)
5635 _needed = 4;
5636 break;
5637 default:
5638 _needed = 1;
5639 break;
5640 }
5641 if (_remaining < _needed) {
5642 _exception = 1;
5643 _exceptionType = "java/lang/IllegalArgumentException";
5644 _exceptionMessage = "remaining() < needed";
5645 goto exit;
5646 }
5647 if (params == NULL) {
5648 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5649 params = (GLint *) (_paramsBase + _bufferOffset);
5650 }
5651 glGetTexEnviv(
5652 (GLenum)env,
5653 (GLenum)pname,
5654 (GLint *)params
5655 );
5656
5657 exit:
5658 if (_array) {
5659 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5660 }
5661 if (_exception) {
5662 jniThrowException(_env, _exceptionType, _exceptionMessage);
5663 }
5664 }
5665
5666 /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */
5667 static void
android_glGetTexEnvxv__II_3II(JNIEnv * _env,jobject _this,jint env,jint pname,jintArray params_ref,jint offset)5668 android_glGetTexEnvxv__II_3II
5669 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
5670 jint _exception = 0;
5671 const char * _exceptionType = NULL;
5672 const char * _exceptionMessage = NULL;
5673 GLfixed *params_base = (GLfixed *) 0;
5674 jint _remaining;
5675 GLfixed *params = (GLfixed *) 0;
5676
5677 if (!params_ref) {
5678 _exception = 1;
5679 _exceptionType = "java/lang/IllegalArgumentException";
5680 _exceptionMessage = "params == null";
5681 goto exit;
5682 }
5683 if (offset < 0) {
5684 _exception = 1;
5685 _exceptionType = "java/lang/IllegalArgumentException";
5686 _exceptionMessage = "offset < 0";
5687 goto exit;
5688 }
5689 _remaining = _env->GetArrayLength(params_ref) - offset;
5690 int _needed;
5691 switch (pname) {
5692 #if defined(GL_TEXTURE_ENV_MODE)
5693 case GL_TEXTURE_ENV_MODE:
5694 #endif // defined(GL_TEXTURE_ENV_MODE)
5695 #if defined(GL_COMBINE_RGB)
5696 case GL_COMBINE_RGB:
5697 #endif // defined(GL_COMBINE_RGB)
5698 #if defined(GL_COMBINE_ALPHA)
5699 case GL_COMBINE_ALPHA:
5700 #endif // defined(GL_COMBINE_ALPHA)
5701 _needed = 1;
5702 break;
5703 #if defined(GL_TEXTURE_ENV_COLOR)
5704 case GL_TEXTURE_ENV_COLOR:
5705 #endif // defined(GL_TEXTURE_ENV_COLOR)
5706 _needed = 4;
5707 break;
5708 default:
5709 _needed = 1;
5710 break;
5711 }
5712 if (_remaining < _needed) {
5713 _exception = 1;
5714 _exceptionType = "java/lang/IllegalArgumentException";
5715 _exceptionMessage = "length - offset < needed";
5716 goto exit;
5717 }
5718 params_base = (GLfixed *)
5719 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5720 params = params_base + offset;
5721
5722 glGetTexEnvxv(
5723 (GLenum)env,
5724 (GLenum)pname,
5725 (GLfixed *)params
5726 );
5727
5728 exit:
5729 if (params_base) {
5730 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5731 _exception ? JNI_ABORT: 0);
5732 }
5733 if (_exception) {
5734 jniThrowException(_env, _exceptionType, _exceptionMessage);
5735 }
5736 }
5737
5738 /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */
5739 static void
android_glGetTexEnvxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint env,jint pname,jobject params_buf)5740 android_glGetTexEnvxv__IILjava_nio_IntBuffer_2
5741 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
5742 jint _exception = 0;
5743 const char * _exceptionType = NULL;
5744 const char * _exceptionMessage = NULL;
5745 jarray _array = (jarray) 0;
5746 jint _bufferOffset = (jint) 0;
5747 jint _remaining;
5748 GLfixed *params = (GLfixed *) 0;
5749
5750 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5751 int _needed;
5752 switch (pname) {
5753 #if defined(GL_TEXTURE_ENV_MODE)
5754 case GL_TEXTURE_ENV_MODE:
5755 #endif // defined(GL_TEXTURE_ENV_MODE)
5756 #if defined(GL_COMBINE_RGB)
5757 case GL_COMBINE_RGB:
5758 #endif // defined(GL_COMBINE_RGB)
5759 #if defined(GL_COMBINE_ALPHA)
5760 case GL_COMBINE_ALPHA:
5761 #endif // defined(GL_COMBINE_ALPHA)
5762 _needed = 1;
5763 break;
5764 #if defined(GL_TEXTURE_ENV_COLOR)
5765 case GL_TEXTURE_ENV_COLOR:
5766 #endif // defined(GL_TEXTURE_ENV_COLOR)
5767 _needed = 4;
5768 break;
5769 default:
5770 _needed = 1;
5771 break;
5772 }
5773 if (_remaining < _needed) {
5774 _exception = 1;
5775 _exceptionType = "java/lang/IllegalArgumentException";
5776 _exceptionMessage = "remaining() < needed";
5777 goto exit;
5778 }
5779 if (params == NULL) {
5780 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5781 params = (GLfixed *) (_paramsBase + _bufferOffset);
5782 }
5783 glGetTexEnvxv(
5784 (GLenum)env,
5785 (GLenum)pname,
5786 (GLfixed *)params
5787 );
5788
5789 exit:
5790 if (_array) {
5791 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5792 }
5793 if (_exception) {
5794 jniThrowException(_env, _exceptionType, _exceptionMessage);
5795 }
5796 }
5797
5798 /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */
5799 static void
android_glGetTexParameterfv__II_3FI(JNIEnv * _env,jobject _this,jint target,jint pname,jfloatArray params_ref,jint offset)5800 android_glGetTexParameterfv__II_3FI
5801 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
5802 jint _exception = 0;
5803 const char * _exceptionType = NULL;
5804 const char * _exceptionMessage = NULL;
5805 GLfloat *params_base = (GLfloat *) 0;
5806 jint _remaining;
5807 GLfloat *params = (GLfloat *) 0;
5808
5809 if (!params_ref) {
5810 _exception = 1;
5811 _exceptionType = "java/lang/IllegalArgumentException";
5812 _exceptionMessage = "params == null";
5813 goto exit;
5814 }
5815 if (offset < 0) {
5816 _exception = 1;
5817 _exceptionType = "java/lang/IllegalArgumentException";
5818 _exceptionMessage = "offset < 0";
5819 goto exit;
5820 }
5821 _remaining = _env->GetArrayLength(params_ref) - offset;
5822 if (_remaining < 1) {
5823 _exception = 1;
5824 _exceptionType = "java/lang/IllegalArgumentException";
5825 _exceptionMessage = "length - offset < 1 < needed";
5826 goto exit;
5827 }
5828 params_base = (GLfloat *)
5829 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5830 params = params_base + offset;
5831
5832 glGetTexParameterfv(
5833 (GLenum)target,
5834 (GLenum)pname,
5835 (GLfloat *)params
5836 );
5837
5838 exit:
5839 if (params_base) {
5840 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5841 _exception ? JNI_ABORT: 0);
5842 }
5843 if (_exception) {
5844 jniThrowException(_env, _exceptionType, _exceptionMessage);
5845 }
5846 }
5847
5848 /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */
5849 static void
android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)5850 android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2
5851 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
5852 jint _exception = 0;
5853 const char * _exceptionType = NULL;
5854 const char * _exceptionMessage = NULL;
5855 jarray _array = (jarray) 0;
5856 jint _bufferOffset = (jint) 0;
5857 jint _remaining;
5858 GLfloat *params = (GLfloat *) 0;
5859
5860 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5861 if (_remaining < 1) {
5862 _exception = 1;
5863 _exceptionType = "java/lang/IllegalArgumentException";
5864 _exceptionMessage = "remaining() < 1 < needed";
5865 goto exit;
5866 }
5867 if (params == NULL) {
5868 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5869 params = (GLfloat *) (_paramsBase + _bufferOffset);
5870 }
5871 glGetTexParameterfv(
5872 (GLenum)target,
5873 (GLenum)pname,
5874 (GLfloat *)params
5875 );
5876
5877 exit:
5878 if (_array) {
5879 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5880 }
5881 if (_exception) {
5882 jniThrowException(_env, _exceptionType, _exceptionMessage);
5883 }
5884 }
5885
5886 /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */
5887 static void
android_glGetTexParameteriv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)5888 android_glGetTexParameteriv__II_3II
5889 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
5890 jint _exception = 0;
5891 const char * _exceptionType = NULL;
5892 const char * _exceptionMessage = NULL;
5893 GLint *params_base = (GLint *) 0;
5894 jint _remaining;
5895 GLint *params = (GLint *) 0;
5896
5897 if (!params_ref) {
5898 _exception = 1;
5899 _exceptionType = "java/lang/IllegalArgumentException";
5900 _exceptionMessage = "params == null";
5901 goto exit;
5902 }
5903 if (offset < 0) {
5904 _exception = 1;
5905 _exceptionType = "java/lang/IllegalArgumentException";
5906 _exceptionMessage = "offset < 0";
5907 goto exit;
5908 }
5909 _remaining = _env->GetArrayLength(params_ref) - offset;
5910 if (_remaining < 1) {
5911 _exception = 1;
5912 _exceptionType = "java/lang/IllegalArgumentException";
5913 _exceptionMessage = "length - offset < 1 < needed";
5914 goto exit;
5915 }
5916 params_base = (GLint *)
5917 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
5918 params = params_base + offset;
5919
5920 glGetTexParameteriv(
5921 (GLenum)target,
5922 (GLenum)pname,
5923 (GLint *)params
5924 );
5925
5926 exit:
5927 if (params_base) {
5928 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
5929 _exception ? JNI_ABORT: 0);
5930 }
5931 if (_exception) {
5932 jniThrowException(_env, _exceptionType, _exceptionMessage);
5933 }
5934 }
5935
5936 /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */
5937 static void
android_glGetTexParameteriv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)5938 android_glGetTexParameteriv__IILjava_nio_IntBuffer_2
5939 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
5940 jint _exception = 0;
5941 const char * _exceptionType = NULL;
5942 const char * _exceptionMessage = NULL;
5943 jarray _array = (jarray) 0;
5944 jint _bufferOffset = (jint) 0;
5945 jint _remaining;
5946 GLint *params = (GLint *) 0;
5947
5948 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
5949 if (_remaining < 1) {
5950 _exception = 1;
5951 _exceptionType = "java/lang/IllegalArgumentException";
5952 _exceptionMessage = "remaining() < 1 < needed";
5953 goto exit;
5954 }
5955 if (params == NULL) {
5956 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
5957 params = (GLint *) (_paramsBase + _bufferOffset);
5958 }
5959 glGetTexParameteriv(
5960 (GLenum)target,
5961 (GLenum)pname,
5962 (GLint *)params
5963 );
5964
5965 exit:
5966 if (_array) {
5967 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
5968 }
5969 if (_exception) {
5970 jniThrowException(_env, _exceptionType, _exceptionMessage);
5971 }
5972 }
5973
5974 /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */
5975 static void
android_glGetTexParameterxv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)5976 android_glGetTexParameterxv__II_3II
5977 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
5978 jint _exception = 0;
5979 const char * _exceptionType = NULL;
5980 const char * _exceptionMessage = NULL;
5981 GLfixed *params_base = (GLfixed *) 0;
5982 jint _remaining;
5983 GLfixed *params = (GLfixed *) 0;
5984
5985 if (!params_ref) {
5986 _exception = 1;
5987 _exceptionType = "java/lang/IllegalArgumentException";
5988 _exceptionMessage = "params == null";
5989 goto exit;
5990 }
5991 if (offset < 0) {
5992 _exception = 1;
5993 _exceptionType = "java/lang/IllegalArgumentException";
5994 _exceptionMessage = "offset < 0";
5995 goto exit;
5996 }
5997 _remaining = _env->GetArrayLength(params_ref) - offset;
5998 if (_remaining < 1) {
5999 _exception = 1;
6000 _exceptionType = "java/lang/IllegalArgumentException";
6001 _exceptionMessage = "length - offset < 1 < needed";
6002 goto exit;
6003 }
6004 params_base = (GLfixed *)
6005 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6006 params = params_base + offset;
6007
6008 glGetTexParameterxv(
6009 (GLenum)target,
6010 (GLenum)pname,
6011 (GLfixed *)params
6012 );
6013
6014 exit:
6015 if (params_base) {
6016 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6017 _exception ? JNI_ABORT: 0);
6018 }
6019 if (_exception) {
6020 jniThrowException(_env, _exceptionType, _exceptionMessage);
6021 }
6022 }
6023
6024 /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */
6025 static void
android_glGetTexParameterxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)6026 android_glGetTexParameterxv__IILjava_nio_IntBuffer_2
6027 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
6028 jint _exception = 0;
6029 const char * _exceptionType = NULL;
6030 const char * _exceptionMessage = NULL;
6031 jarray _array = (jarray) 0;
6032 jint _bufferOffset = (jint) 0;
6033 jint _remaining;
6034 GLfixed *params = (GLfixed *) 0;
6035
6036 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6037 if (_remaining < 1) {
6038 _exception = 1;
6039 _exceptionType = "java/lang/IllegalArgumentException";
6040 _exceptionMessage = "remaining() < 1 < needed";
6041 goto exit;
6042 }
6043 if (params == NULL) {
6044 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6045 params = (GLfixed *) (_paramsBase + _bufferOffset);
6046 }
6047 glGetTexParameterxv(
6048 (GLenum)target,
6049 (GLenum)pname,
6050 (GLfixed *)params
6051 );
6052
6053 exit:
6054 if (_array) {
6055 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
6056 }
6057 if (_exception) {
6058 jniThrowException(_env, _exceptionType, _exceptionMessage);
6059 }
6060 }
6061
6062 /* GLboolean glIsBuffer ( GLuint buffer ) */
6063 static jboolean
android_glIsBuffer__I(JNIEnv * _env,jobject _this,jint buffer)6064 android_glIsBuffer__I
6065 (JNIEnv *_env, jobject _this, jint buffer) {
6066 GLboolean _returnValue;
6067 _returnValue = glIsBuffer(
6068 (GLuint)buffer
6069 );
6070 return _returnValue;
6071 }
6072
6073 /* GLboolean glIsEnabled ( GLenum cap ) */
6074 static jboolean
android_glIsEnabled__I(JNIEnv * _env,jobject _this,jint cap)6075 android_glIsEnabled__I
6076 (JNIEnv *_env, jobject _this, jint cap) {
6077 GLboolean _returnValue;
6078 _returnValue = glIsEnabled(
6079 (GLenum)cap
6080 );
6081 return _returnValue;
6082 }
6083
6084 /* GLboolean glIsTexture ( GLuint texture ) */
6085 static jboolean
android_glIsTexture__I(JNIEnv * _env,jobject _this,jint texture)6086 android_glIsTexture__I
6087 (JNIEnv *_env, jobject _this, jint texture) {
6088 GLboolean _returnValue;
6089 _returnValue = glIsTexture(
6090 (GLuint)texture
6091 );
6092 return _returnValue;
6093 }
6094
6095 /* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */
6096 static void
android_glNormalPointer__III(JNIEnv * _env,jobject _this,jint type,jint stride,jint offset)6097 android_glNormalPointer__III
6098 (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) {
6099 glNormalPointer(
6100 (GLenum)type,
6101 (GLsizei)stride,
6102 (const GLvoid *)offset
6103 );
6104 }
6105
6106 /* void glPointParameterf ( GLenum pname, GLfloat param ) */
6107 static void
android_glPointParameterf__IF(JNIEnv * _env,jobject _this,jint pname,jfloat param)6108 android_glPointParameterf__IF
6109 (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
6110 glPointParameterf(
6111 (GLenum)pname,
6112 (GLfloat)param
6113 );
6114 }
6115
6116 /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */
6117 static void
android_glPointParameterfv__I_3FI(JNIEnv * _env,jobject _this,jint pname,jfloatArray params_ref,jint offset)6118 android_glPointParameterfv__I_3FI
6119 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
6120 jint _exception = 0;
6121 const char * _exceptionType = NULL;
6122 const char * _exceptionMessage = NULL;
6123 GLfloat *params_base = (GLfloat *) 0;
6124 jint _remaining;
6125 GLfloat *params = (GLfloat *) 0;
6126
6127 if (!params_ref) {
6128 _exception = 1;
6129 _exceptionType = "java/lang/IllegalArgumentException";
6130 _exceptionMessage = "params == null";
6131 goto exit;
6132 }
6133 if (offset < 0) {
6134 _exception = 1;
6135 _exceptionType = "java/lang/IllegalArgumentException";
6136 _exceptionMessage = "offset < 0";
6137 goto exit;
6138 }
6139 _remaining = _env->GetArrayLength(params_ref) - offset;
6140 if (_remaining < 1) {
6141 _exception = 1;
6142 _exceptionType = "java/lang/IllegalArgumentException";
6143 _exceptionMessage = "length - offset < 1 < needed";
6144 goto exit;
6145 }
6146 params_base = (GLfloat *)
6147 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6148 params = params_base + offset;
6149
6150 glPointParameterfv(
6151 (GLenum)pname,
6152 (GLfloat *)params
6153 );
6154
6155 exit:
6156 if (params_base) {
6157 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6158 JNI_ABORT);
6159 }
6160 if (_exception) {
6161 jniThrowException(_env, _exceptionType, _exceptionMessage);
6162 }
6163 }
6164
6165 /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */
6166 static void
android_glPointParameterfv__ILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)6167 android_glPointParameterfv__ILjava_nio_FloatBuffer_2
6168 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
6169 jint _exception = 0;
6170 const char * _exceptionType = NULL;
6171 const char * _exceptionMessage = NULL;
6172 jarray _array = (jarray) 0;
6173 jint _bufferOffset = (jint) 0;
6174 jint _remaining;
6175 GLfloat *params = (GLfloat *) 0;
6176
6177 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6178 if (_remaining < 1) {
6179 _exception = 1;
6180 _exceptionType = "java/lang/IllegalArgumentException";
6181 _exceptionMessage = "remaining() < 1 < needed";
6182 goto exit;
6183 }
6184 if (params == NULL) {
6185 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6186 params = (GLfloat *) (_paramsBase + _bufferOffset);
6187 }
6188 glPointParameterfv(
6189 (GLenum)pname,
6190 (GLfloat *)params
6191 );
6192
6193 exit:
6194 if (_array) {
6195 releasePointer(_env, _array, params, JNI_FALSE);
6196 }
6197 if (_exception) {
6198 jniThrowException(_env, _exceptionType, _exceptionMessage);
6199 }
6200 }
6201
6202 /* void glPointParameterx ( GLenum pname, GLfixed param ) */
6203 static void
android_glPointParameterx__II(JNIEnv * _env,jobject _this,jint pname,jint param)6204 android_glPointParameterx__II
6205 (JNIEnv *_env, jobject _this, jint pname, jint param) {
6206 glPointParameterx(
6207 (GLenum)pname,
6208 (GLfixed)param
6209 );
6210 }
6211
6212 /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */
6213 static void
android_glPointParameterxv__I_3II(JNIEnv * _env,jobject _this,jint pname,jintArray params_ref,jint offset)6214 android_glPointParameterxv__I_3II
6215 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
6216 jint _exception = 0;
6217 const char * _exceptionType = NULL;
6218 const char * _exceptionMessage = NULL;
6219 GLfixed *params_base = (GLfixed *) 0;
6220 jint _remaining;
6221 GLfixed *params = (GLfixed *) 0;
6222
6223 if (!params_ref) {
6224 _exception = 1;
6225 _exceptionType = "java/lang/IllegalArgumentException";
6226 _exceptionMessage = "params == null";
6227 goto exit;
6228 }
6229 if (offset < 0) {
6230 _exception = 1;
6231 _exceptionType = "java/lang/IllegalArgumentException";
6232 _exceptionMessage = "offset < 0";
6233 goto exit;
6234 }
6235 _remaining = _env->GetArrayLength(params_ref) - offset;
6236 if (_remaining < 1) {
6237 _exception = 1;
6238 _exceptionType = "java/lang/IllegalArgumentException";
6239 _exceptionMessage = "length - offset < 1 < needed";
6240 goto exit;
6241 }
6242 params_base = (GLfixed *)
6243 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6244 params = params_base + offset;
6245
6246 glPointParameterxv(
6247 (GLenum)pname,
6248 (GLfixed *)params
6249 );
6250
6251 exit:
6252 if (params_base) {
6253 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6254 JNI_ABORT);
6255 }
6256 if (_exception) {
6257 jniThrowException(_env, _exceptionType, _exceptionMessage);
6258 }
6259 }
6260
6261 /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */
6262 static void
android_glPointParameterxv__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)6263 android_glPointParameterxv__ILjava_nio_IntBuffer_2
6264 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
6265 jint _exception = 0;
6266 const char * _exceptionType = NULL;
6267 const char * _exceptionMessage = NULL;
6268 jarray _array = (jarray) 0;
6269 jint _bufferOffset = (jint) 0;
6270 jint _remaining;
6271 GLfixed *params = (GLfixed *) 0;
6272
6273 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6274 if (_remaining < 1) {
6275 _exception = 1;
6276 _exceptionType = "java/lang/IllegalArgumentException";
6277 _exceptionMessage = "remaining() < 1 < needed";
6278 goto exit;
6279 }
6280 if (params == NULL) {
6281 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6282 params = (GLfixed *) (_paramsBase + _bufferOffset);
6283 }
6284 glPointParameterxv(
6285 (GLenum)pname,
6286 (GLfixed *)params
6287 );
6288
6289 exit:
6290 if (_array) {
6291 releasePointer(_env, _array, params, JNI_FALSE);
6292 }
6293 if (_exception) {
6294 jniThrowException(_env, _exceptionType, _exceptionMessage);
6295 }
6296 }
6297
6298 /* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */
6299 static void
android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint type,jint stride,jobject pointer_buf,jint remaining)6300 android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I
6301 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) {
6302 jarray _array = (jarray) 0;
6303 jint _bufferOffset = (jint) 0;
6304 jint _remaining;
6305 GLvoid *pointer = (GLvoid *) 0;
6306
6307 if (pointer_buf) {
6308 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
6309 if ( ! pointer ) {
6310 return;
6311 }
6312 }
6313 glPointSizePointerOESBounds(
6314 (GLenum)type,
6315 (GLsizei)stride,
6316 (GLvoid *)pointer,
6317 (GLsizei)remaining
6318 );
6319 }
6320
6321 /* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
6322 static void
android_glTexCoordPointer__IIII(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jint offset)6323 android_glTexCoordPointer__IIII
6324 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
6325 glTexCoordPointer(
6326 (GLint)size,
6327 (GLenum)type,
6328 (GLsizei)stride,
6329 (const GLvoid *)offset
6330 );
6331 }
6332
6333 /* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */
6334 static void
android_glTexEnvi__III(JNIEnv * _env,jobject _this,jint target,jint pname,jint param)6335 android_glTexEnvi__III
6336 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
6337 glTexEnvi(
6338 (GLenum)target,
6339 (GLenum)pname,
6340 (GLint)param
6341 );
6342 }
6343
6344 /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */
6345 static void
android_glTexEnviv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)6346 android_glTexEnviv__II_3II
6347 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
6348 jint _exception = 0;
6349 const char * _exceptionType = NULL;
6350 const char * _exceptionMessage = NULL;
6351 GLint *params_base = (GLint *) 0;
6352 jint _remaining;
6353 GLint *params = (GLint *) 0;
6354
6355 if (!params_ref) {
6356 _exception = 1;
6357 _exceptionType = "java/lang/IllegalArgumentException";
6358 _exceptionMessage = "params == null";
6359 goto exit;
6360 }
6361 if (offset < 0) {
6362 _exception = 1;
6363 _exceptionType = "java/lang/IllegalArgumentException";
6364 _exceptionMessage = "offset < 0";
6365 goto exit;
6366 }
6367 _remaining = _env->GetArrayLength(params_ref) - offset;
6368 int _needed;
6369 switch (pname) {
6370 #if defined(GL_TEXTURE_ENV_MODE)
6371 case GL_TEXTURE_ENV_MODE:
6372 #endif // defined(GL_TEXTURE_ENV_MODE)
6373 #if defined(GL_COMBINE_RGB)
6374 case GL_COMBINE_RGB:
6375 #endif // defined(GL_COMBINE_RGB)
6376 #if defined(GL_COMBINE_ALPHA)
6377 case GL_COMBINE_ALPHA:
6378 #endif // defined(GL_COMBINE_ALPHA)
6379 _needed = 1;
6380 break;
6381 #if defined(GL_TEXTURE_ENV_COLOR)
6382 case GL_TEXTURE_ENV_COLOR:
6383 #endif // defined(GL_TEXTURE_ENV_COLOR)
6384 _needed = 4;
6385 break;
6386 default:
6387 _needed = 1;
6388 break;
6389 }
6390 if (_remaining < _needed) {
6391 _exception = 1;
6392 _exceptionType = "java/lang/IllegalArgumentException";
6393 _exceptionMessage = "length - offset < needed";
6394 goto exit;
6395 }
6396 params_base = (GLint *)
6397 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6398 params = params_base + offset;
6399
6400 glTexEnviv(
6401 (GLenum)target,
6402 (GLenum)pname,
6403 (GLint *)params
6404 );
6405
6406 exit:
6407 if (params_base) {
6408 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6409 JNI_ABORT);
6410 }
6411 if (_exception) {
6412 jniThrowException(_env, _exceptionType, _exceptionMessage);
6413 }
6414 }
6415
6416 /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */
6417 static void
android_glTexEnviv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)6418 android_glTexEnviv__IILjava_nio_IntBuffer_2
6419 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
6420 jint _exception = 0;
6421 const char * _exceptionType = NULL;
6422 const char * _exceptionMessage = NULL;
6423 jarray _array = (jarray) 0;
6424 jint _bufferOffset = (jint) 0;
6425 jint _remaining;
6426 GLint *params = (GLint *) 0;
6427
6428 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6429 int _needed;
6430 switch (pname) {
6431 #if defined(GL_TEXTURE_ENV_MODE)
6432 case GL_TEXTURE_ENV_MODE:
6433 #endif // defined(GL_TEXTURE_ENV_MODE)
6434 #if defined(GL_COMBINE_RGB)
6435 case GL_COMBINE_RGB:
6436 #endif // defined(GL_COMBINE_RGB)
6437 #if defined(GL_COMBINE_ALPHA)
6438 case GL_COMBINE_ALPHA:
6439 #endif // defined(GL_COMBINE_ALPHA)
6440 _needed = 1;
6441 break;
6442 #if defined(GL_TEXTURE_ENV_COLOR)
6443 case GL_TEXTURE_ENV_COLOR:
6444 #endif // defined(GL_TEXTURE_ENV_COLOR)
6445 _needed = 4;
6446 break;
6447 default:
6448 _needed = 1;
6449 break;
6450 }
6451 if (_remaining < _needed) {
6452 _exception = 1;
6453 _exceptionType = "java/lang/IllegalArgumentException";
6454 _exceptionMessage = "remaining() < needed";
6455 goto exit;
6456 }
6457 if (params == NULL) {
6458 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6459 params = (GLint *) (_paramsBase + _bufferOffset);
6460 }
6461 glTexEnviv(
6462 (GLenum)target,
6463 (GLenum)pname,
6464 (GLint *)params
6465 );
6466
6467 exit:
6468 if (_array) {
6469 releasePointer(_env, _array, params, JNI_FALSE);
6470 }
6471 if (_exception) {
6472 jniThrowException(_env, _exceptionType, _exceptionMessage);
6473 }
6474 }
6475
6476 /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */
6477 static void
android_glTexParameterfv__II_3FI(JNIEnv * _env,jobject _this,jint target,jint pname,jfloatArray params_ref,jint offset)6478 android_glTexParameterfv__II_3FI
6479 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
6480 jint _exception = 0;
6481 const char * _exceptionType = NULL;
6482 const char * _exceptionMessage = NULL;
6483 GLfloat *params_base = (GLfloat *) 0;
6484 jint _remaining;
6485 GLfloat *params = (GLfloat *) 0;
6486
6487 if (!params_ref) {
6488 _exception = 1;
6489 _exceptionType = "java/lang/IllegalArgumentException";
6490 _exceptionMessage = "params == null";
6491 goto exit;
6492 }
6493 if (offset < 0) {
6494 _exception = 1;
6495 _exceptionType = "java/lang/IllegalArgumentException";
6496 _exceptionMessage = "offset < 0";
6497 goto exit;
6498 }
6499 _remaining = _env->GetArrayLength(params_ref) - offset;
6500 if (_remaining < 1) {
6501 _exception = 1;
6502 _exceptionType = "java/lang/IllegalArgumentException";
6503 _exceptionMessage = "length - offset < 1 < needed";
6504 goto exit;
6505 }
6506 params_base = (GLfloat *)
6507 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6508 params = params_base + offset;
6509
6510 glTexParameterfv(
6511 (GLenum)target,
6512 (GLenum)pname,
6513 (GLfloat *)params
6514 );
6515
6516 exit:
6517 if (params_base) {
6518 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6519 JNI_ABORT);
6520 }
6521 if (_exception) {
6522 jniThrowException(_env, _exceptionType, _exceptionMessage);
6523 }
6524 }
6525
6526 /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */
6527 static void
android_glTexParameterfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)6528 android_glTexParameterfv__IILjava_nio_FloatBuffer_2
6529 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
6530 jint _exception = 0;
6531 const char * _exceptionType = NULL;
6532 const char * _exceptionMessage = NULL;
6533 jarray _array = (jarray) 0;
6534 jint _bufferOffset = (jint) 0;
6535 jint _remaining;
6536 GLfloat *params = (GLfloat *) 0;
6537
6538 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6539 if (_remaining < 1) {
6540 _exception = 1;
6541 _exceptionType = "java/lang/IllegalArgumentException";
6542 _exceptionMessage = "remaining() < 1 < needed";
6543 goto exit;
6544 }
6545 if (params == NULL) {
6546 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6547 params = (GLfloat *) (_paramsBase + _bufferOffset);
6548 }
6549 glTexParameterfv(
6550 (GLenum)target,
6551 (GLenum)pname,
6552 (GLfloat *)params
6553 );
6554
6555 exit:
6556 if (_array) {
6557 releasePointer(_env, _array, params, JNI_FALSE);
6558 }
6559 if (_exception) {
6560 jniThrowException(_env, _exceptionType, _exceptionMessage);
6561 }
6562 }
6563
6564 /* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */
6565 static void
android_glTexParameteri__III(JNIEnv * _env,jobject _this,jint target,jint pname,jint param)6566 android_glTexParameteri__III
6567 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
6568 glTexParameteri(
6569 (GLenum)target,
6570 (GLenum)pname,
6571 (GLint)param
6572 );
6573 }
6574
6575 /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */
6576 static void
android_glTexParameteriv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)6577 android_glTexParameteriv__II_3II
6578 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
6579 jint _exception = 0;
6580 const char * _exceptionType = NULL;
6581 const char * _exceptionMessage = NULL;
6582 GLint *params_base = (GLint *) 0;
6583 jint _remaining;
6584 GLint *params = (GLint *) 0;
6585
6586 if (!params_ref) {
6587 _exception = 1;
6588 _exceptionType = "java/lang/IllegalArgumentException";
6589 _exceptionMessage = "params == null";
6590 goto exit;
6591 }
6592 if (offset < 0) {
6593 _exception = 1;
6594 _exceptionType = "java/lang/IllegalArgumentException";
6595 _exceptionMessage = "offset < 0";
6596 goto exit;
6597 }
6598 _remaining = _env->GetArrayLength(params_ref) - offset;
6599 if (_remaining < 1) {
6600 _exception = 1;
6601 _exceptionType = "java/lang/IllegalArgumentException";
6602 _exceptionMessage = "length - offset < 1 < needed";
6603 goto exit;
6604 }
6605 params_base = (GLint *)
6606 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6607 params = params_base + offset;
6608
6609 glTexParameteriv(
6610 (GLenum)target,
6611 (GLenum)pname,
6612 (GLint *)params
6613 );
6614
6615 exit:
6616 if (params_base) {
6617 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6618 JNI_ABORT);
6619 }
6620 if (_exception) {
6621 jniThrowException(_env, _exceptionType, _exceptionMessage);
6622 }
6623 }
6624
6625 /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */
6626 static void
android_glTexParameteriv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)6627 android_glTexParameteriv__IILjava_nio_IntBuffer_2
6628 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
6629 jint _exception = 0;
6630 const char * _exceptionType = NULL;
6631 const char * _exceptionMessage = NULL;
6632 jarray _array = (jarray) 0;
6633 jint _bufferOffset = (jint) 0;
6634 jint _remaining;
6635 GLint *params = (GLint *) 0;
6636
6637 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6638 if (_remaining < 1) {
6639 _exception = 1;
6640 _exceptionType = "java/lang/IllegalArgumentException";
6641 _exceptionMessage = "remaining() < 1 < needed";
6642 goto exit;
6643 }
6644 if (params == NULL) {
6645 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6646 params = (GLint *) (_paramsBase + _bufferOffset);
6647 }
6648 glTexParameteriv(
6649 (GLenum)target,
6650 (GLenum)pname,
6651 (GLint *)params
6652 );
6653
6654 exit:
6655 if (_array) {
6656 releasePointer(_env, _array, params, JNI_FALSE);
6657 }
6658 if (_exception) {
6659 jniThrowException(_env, _exceptionType, _exceptionMessage);
6660 }
6661 }
6662
6663 /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */
6664 static void
android_glTexParameterxv__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)6665 android_glTexParameterxv__II_3II
6666 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
6667 jint _exception = 0;
6668 const char * _exceptionType = NULL;
6669 const char * _exceptionMessage = NULL;
6670 GLfixed *params_base = (GLfixed *) 0;
6671 jint _remaining;
6672 GLfixed *params = (GLfixed *) 0;
6673
6674 if (!params_ref) {
6675 _exception = 1;
6676 _exceptionType = "java/lang/IllegalArgumentException";
6677 _exceptionMessage = "params == null";
6678 goto exit;
6679 }
6680 if (offset < 0) {
6681 _exception = 1;
6682 _exceptionType = "java/lang/IllegalArgumentException";
6683 _exceptionMessage = "offset < 0";
6684 goto exit;
6685 }
6686 _remaining = _env->GetArrayLength(params_ref) - offset;
6687 if (_remaining < 1) {
6688 _exception = 1;
6689 _exceptionType = "java/lang/IllegalArgumentException";
6690 _exceptionMessage = "length - offset < 1 < needed";
6691 goto exit;
6692 }
6693 params_base = (GLfixed *)
6694 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6695 params = params_base + offset;
6696
6697 glTexParameterxv(
6698 (GLenum)target,
6699 (GLenum)pname,
6700 (GLfixed *)params
6701 );
6702
6703 exit:
6704 if (params_base) {
6705 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6706 JNI_ABORT);
6707 }
6708 if (_exception) {
6709 jniThrowException(_env, _exceptionType, _exceptionMessage);
6710 }
6711 }
6712
6713 /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */
6714 static void
android_glTexParameterxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)6715 android_glTexParameterxv__IILjava_nio_IntBuffer_2
6716 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
6717 jint _exception = 0;
6718 const char * _exceptionType = NULL;
6719 const char * _exceptionMessage = NULL;
6720 jarray _array = (jarray) 0;
6721 jint _bufferOffset = (jint) 0;
6722 jint _remaining;
6723 GLfixed *params = (GLfixed *) 0;
6724
6725 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
6726 if (_remaining < 1) {
6727 _exception = 1;
6728 _exceptionType = "java/lang/IllegalArgumentException";
6729 _exceptionMessage = "remaining() < 1 < needed";
6730 goto exit;
6731 }
6732 if (params == NULL) {
6733 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6734 params = (GLfixed *) (_paramsBase + _bufferOffset);
6735 }
6736 glTexParameterxv(
6737 (GLenum)target,
6738 (GLenum)pname,
6739 (GLfixed *)params
6740 );
6741
6742 exit:
6743 if (_array) {
6744 releasePointer(_env, _array, params, JNI_FALSE);
6745 }
6746 if (_exception) {
6747 jniThrowException(_env, _exceptionType, _exceptionMessage);
6748 }
6749 }
6750
6751 /* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
6752 static void
android_glVertexPointer__IIII(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jint offset)6753 android_glVertexPointer__IIII
6754 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
6755 glVertexPointer(
6756 (GLint)size,
6757 (GLenum)type,
6758 (GLsizei)stride,
6759 (const GLvoid *)offset
6760 );
6761 }
6762
6763 /* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */
6764 static void
android_glCurrentPaletteMatrixOES__I(JNIEnv * _env,jobject _this,jint matrixpaletteindex)6765 android_glCurrentPaletteMatrixOES__I
6766 (JNIEnv *_env, jobject _this, jint matrixpaletteindex) {
6767 glCurrentPaletteMatrixOES(
6768 (GLuint)matrixpaletteindex
6769 );
6770 }
6771
6772 /* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */
6773 static void
android_glDrawTexfOES__FFFFF(JNIEnv * _env,jobject _this,jfloat x,jfloat y,jfloat z,jfloat width,jfloat height)6774 android_glDrawTexfOES__FFFFF
6775 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) {
6776 glDrawTexfOES(
6777 (GLfloat)x,
6778 (GLfloat)y,
6779 (GLfloat)z,
6780 (GLfloat)width,
6781 (GLfloat)height
6782 );
6783 }
6784
6785 /* void glDrawTexfvOES ( const GLfloat *coords ) */
6786 static void
android_glDrawTexfvOES___3FI(JNIEnv * _env,jobject _this,jfloatArray coords_ref,jint offset)6787 android_glDrawTexfvOES___3FI
6788 (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) {
6789 jint _exception = 0;
6790 const char * _exceptionType = NULL;
6791 const char * _exceptionMessage = NULL;
6792 GLfloat *coords_base = (GLfloat *) 0;
6793 jint _remaining;
6794 GLfloat *coords = (GLfloat *) 0;
6795
6796 if (!coords_ref) {
6797 _exception = 1;
6798 _exceptionType = "java/lang/IllegalArgumentException";
6799 _exceptionMessage = "coords == null";
6800 goto exit;
6801 }
6802 if (offset < 0) {
6803 _exception = 1;
6804 _exceptionType = "java/lang/IllegalArgumentException";
6805 _exceptionMessage = "offset < 0";
6806 goto exit;
6807 }
6808 _remaining = _env->GetArrayLength(coords_ref) - offset;
6809 if (_remaining < 5) {
6810 _exception = 1;
6811 _exceptionType = "java/lang/IllegalArgumentException";
6812 _exceptionMessage = "length - offset < 5 < needed";
6813 goto exit;
6814 }
6815 coords_base = (GLfloat *)
6816 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
6817 coords = coords_base + offset;
6818
6819 glDrawTexfvOES(
6820 (GLfloat *)coords
6821 );
6822
6823 exit:
6824 if (coords_base) {
6825 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
6826 JNI_ABORT);
6827 }
6828 if (_exception) {
6829 jniThrowException(_env, _exceptionType, _exceptionMessage);
6830 }
6831 }
6832
6833 /* void glDrawTexfvOES ( const GLfloat *coords ) */
6834 static void
android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jobject coords_buf)6835 android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2
6836 (JNIEnv *_env, jobject _this, jobject coords_buf) {
6837 jint _exception = 0;
6838 const char * _exceptionType = NULL;
6839 const char * _exceptionMessage = NULL;
6840 jarray _array = (jarray) 0;
6841 jint _bufferOffset = (jint) 0;
6842 jint _remaining;
6843 GLfloat *coords = (GLfloat *) 0;
6844
6845 coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
6846 if (_remaining < 5) {
6847 _exception = 1;
6848 _exceptionType = "java/lang/IllegalArgumentException";
6849 _exceptionMessage = "remaining() < 5 < needed";
6850 goto exit;
6851 }
6852 if (coords == NULL) {
6853 char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6854 coords = (GLfloat *) (_coordsBase + _bufferOffset);
6855 }
6856 glDrawTexfvOES(
6857 (GLfloat *)coords
6858 );
6859
6860 exit:
6861 if (_array) {
6862 releasePointer(_env, _array, coords, JNI_FALSE);
6863 }
6864 if (_exception) {
6865 jniThrowException(_env, _exceptionType, _exceptionMessage);
6866 }
6867 }
6868
6869 /* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */
6870 static void
android_glDrawTexiOES__IIIII(JNIEnv * _env,jobject _this,jint x,jint y,jint z,jint width,jint height)6871 android_glDrawTexiOES__IIIII
6872 (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
6873 glDrawTexiOES(
6874 (GLint)x,
6875 (GLint)y,
6876 (GLint)z,
6877 (GLint)width,
6878 (GLint)height
6879 );
6880 }
6881
6882 /* void glDrawTexivOES ( const GLint *coords ) */
6883 static void
android_glDrawTexivOES___3II(JNIEnv * _env,jobject _this,jintArray coords_ref,jint offset)6884 android_glDrawTexivOES___3II
6885 (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
6886 jint _exception = 0;
6887 const char * _exceptionType = NULL;
6888 const char * _exceptionMessage = NULL;
6889 GLint *coords_base = (GLint *) 0;
6890 jint _remaining;
6891 GLint *coords = (GLint *) 0;
6892
6893 if (!coords_ref) {
6894 _exception = 1;
6895 _exceptionType = "java/lang/IllegalArgumentException";
6896 _exceptionMessage = "coords == null";
6897 goto exit;
6898 }
6899 if (offset < 0) {
6900 _exception = 1;
6901 _exceptionType = "java/lang/IllegalArgumentException";
6902 _exceptionMessage = "offset < 0";
6903 goto exit;
6904 }
6905 _remaining = _env->GetArrayLength(coords_ref) - offset;
6906 if (_remaining < 5) {
6907 _exception = 1;
6908 _exceptionType = "java/lang/IllegalArgumentException";
6909 _exceptionMessage = "length - offset < 5 < needed";
6910 goto exit;
6911 }
6912 coords_base = (GLint *)
6913 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
6914 coords = coords_base + offset;
6915
6916 glDrawTexivOES(
6917 (GLint *)coords
6918 );
6919
6920 exit:
6921 if (coords_base) {
6922 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
6923 JNI_ABORT);
6924 }
6925 if (_exception) {
6926 jniThrowException(_env, _exceptionType, _exceptionMessage);
6927 }
6928 }
6929
6930 /* void glDrawTexivOES ( const GLint *coords ) */
6931 static void
android_glDrawTexivOES__Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jobject coords_buf)6932 android_glDrawTexivOES__Ljava_nio_IntBuffer_2
6933 (JNIEnv *_env, jobject _this, jobject coords_buf) {
6934 jint _exception = 0;
6935 const char * _exceptionType = NULL;
6936 const char * _exceptionMessage = NULL;
6937 jarray _array = (jarray) 0;
6938 jint _bufferOffset = (jint) 0;
6939 jint _remaining;
6940 GLint *coords = (GLint *) 0;
6941
6942 coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
6943 if (_remaining < 5) {
6944 _exception = 1;
6945 _exceptionType = "java/lang/IllegalArgumentException";
6946 _exceptionMessage = "remaining() < 5 < needed";
6947 goto exit;
6948 }
6949 if (coords == NULL) {
6950 char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
6951 coords = (GLint *) (_coordsBase + _bufferOffset);
6952 }
6953 glDrawTexivOES(
6954 (GLint *)coords
6955 );
6956
6957 exit:
6958 if (_array) {
6959 releasePointer(_env, _array, coords, JNI_FALSE);
6960 }
6961 if (_exception) {
6962 jniThrowException(_env, _exceptionType, _exceptionMessage);
6963 }
6964 }
6965
6966 /* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */
6967 static void
android_glDrawTexsOES__SSSSS(JNIEnv * _env,jobject _this,jshort x,jshort y,jshort z,jshort width,jshort height)6968 android_glDrawTexsOES__SSSSS
6969 (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) {
6970 glDrawTexsOES(
6971 (GLshort)x,
6972 (GLshort)y,
6973 (GLshort)z,
6974 (GLshort)width,
6975 (GLshort)height
6976 );
6977 }
6978
6979 /* void glDrawTexsvOES ( const GLshort *coords ) */
6980 static void
android_glDrawTexsvOES___3SI(JNIEnv * _env,jobject _this,jshortArray coords_ref,jint offset)6981 android_glDrawTexsvOES___3SI
6982 (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) {
6983 jint _exception = 0;
6984 const char * _exceptionType = NULL;
6985 const char * _exceptionMessage = NULL;
6986 GLshort *coords_base = (GLshort *) 0;
6987 jint _remaining;
6988 GLshort *coords = (GLshort *) 0;
6989
6990 if (!coords_ref) {
6991 _exception = 1;
6992 _exceptionType = "java/lang/IllegalArgumentException";
6993 _exceptionMessage = "coords == null";
6994 goto exit;
6995 }
6996 if (offset < 0) {
6997 _exception = 1;
6998 _exceptionType = "java/lang/IllegalArgumentException";
6999 _exceptionMessage = "offset < 0";
7000 goto exit;
7001 }
7002 _remaining = _env->GetArrayLength(coords_ref) - offset;
7003 if (_remaining < 5) {
7004 _exception = 1;
7005 _exceptionType = "java/lang/IllegalArgumentException";
7006 _exceptionMessage = "length - offset < 5 < needed";
7007 goto exit;
7008 }
7009 coords_base = (GLshort *)
7010 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
7011 coords = coords_base + offset;
7012
7013 glDrawTexsvOES(
7014 (GLshort *)coords
7015 );
7016
7017 exit:
7018 if (coords_base) {
7019 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
7020 JNI_ABORT);
7021 }
7022 if (_exception) {
7023 jniThrowException(_env, _exceptionType, _exceptionMessage);
7024 }
7025 }
7026
7027 /* void glDrawTexsvOES ( const GLshort *coords ) */
7028 static void
android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2(JNIEnv * _env,jobject _this,jobject coords_buf)7029 android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2
7030 (JNIEnv *_env, jobject _this, jobject coords_buf) {
7031 jint _exception = 0;
7032 const char * _exceptionType = NULL;
7033 const char * _exceptionMessage = NULL;
7034 jarray _array = (jarray) 0;
7035 jint _bufferOffset = (jint) 0;
7036 jint _remaining;
7037 GLshort *coords = (GLshort *) 0;
7038
7039 coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
7040 if (_remaining < 5) {
7041 _exception = 1;
7042 _exceptionType = "java/lang/IllegalArgumentException";
7043 _exceptionMessage = "remaining() < 5 < needed";
7044 goto exit;
7045 }
7046 if (coords == NULL) {
7047 char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7048 coords = (GLshort *) (_coordsBase + _bufferOffset);
7049 }
7050 glDrawTexsvOES(
7051 (GLshort *)coords
7052 );
7053
7054 exit:
7055 if (_array) {
7056 releasePointer(_env, _array, coords, JNI_FALSE);
7057 }
7058 if (_exception) {
7059 jniThrowException(_env, _exceptionType, _exceptionMessage);
7060 }
7061 }
7062
7063 /* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */
7064 static void
android_glDrawTexxOES__IIIII(JNIEnv * _env,jobject _this,jint x,jint y,jint z,jint width,jint height)7065 android_glDrawTexxOES__IIIII
7066 (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
7067 glDrawTexxOES(
7068 (GLfixed)x,
7069 (GLfixed)y,
7070 (GLfixed)z,
7071 (GLfixed)width,
7072 (GLfixed)height
7073 );
7074 }
7075
7076 /* void glDrawTexxvOES ( const GLfixed *coords ) */
7077 static void
android_glDrawTexxvOES___3II(JNIEnv * _env,jobject _this,jintArray coords_ref,jint offset)7078 android_glDrawTexxvOES___3II
7079 (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
7080 jint _exception = 0;
7081 const char * _exceptionType = NULL;
7082 const char * _exceptionMessage = NULL;
7083 GLfixed *coords_base = (GLfixed *) 0;
7084 jint _remaining;
7085 GLfixed *coords = (GLfixed *) 0;
7086
7087 if (!coords_ref) {
7088 _exception = 1;
7089 _exceptionType = "java/lang/IllegalArgumentException";
7090 _exceptionMessage = "coords == null";
7091 goto exit;
7092 }
7093 if (offset < 0) {
7094 _exception = 1;
7095 _exceptionType = "java/lang/IllegalArgumentException";
7096 _exceptionMessage = "offset < 0";
7097 goto exit;
7098 }
7099 _remaining = _env->GetArrayLength(coords_ref) - offset;
7100 if (_remaining < 5) {
7101 _exception = 1;
7102 _exceptionType = "java/lang/IllegalArgumentException";
7103 _exceptionMessage = "length - offset < 5 < needed";
7104 goto exit;
7105 }
7106 coords_base = (GLfixed *)
7107 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
7108 coords = coords_base + offset;
7109
7110 glDrawTexxvOES(
7111 (GLfixed *)coords
7112 );
7113
7114 exit:
7115 if (coords_base) {
7116 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
7117 JNI_ABORT);
7118 }
7119 if (_exception) {
7120 jniThrowException(_env, _exceptionType, _exceptionMessage);
7121 }
7122 }
7123
7124 /* void glDrawTexxvOES ( const GLfixed *coords ) */
7125 static void
android_glDrawTexxvOES__Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jobject coords_buf)7126 android_glDrawTexxvOES__Ljava_nio_IntBuffer_2
7127 (JNIEnv *_env, jobject _this, jobject coords_buf) {
7128 jint _exception = 0;
7129 const char * _exceptionType = NULL;
7130 const char * _exceptionMessage = NULL;
7131 jarray _array = (jarray) 0;
7132 jint _bufferOffset = (jint) 0;
7133 jint _remaining;
7134 GLfixed *coords = (GLfixed *) 0;
7135
7136 coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
7137 if (_remaining < 5) {
7138 _exception = 1;
7139 _exceptionType = "java/lang/IllegalArgumentException";
7140 _exceptionMessage = "remaining() < 5 < needed";
7141 goto exit;
7142 }
7143 if (coords == NULL) {
7144 char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7145 coords = (GLfixed *) (_coordsBase + _bufferOffset);
7146 }
7147 glDrawTexxvOES(
7148 (GLfixed *)coords
7149 );
7150
7151 exit:
7152 if (_array) {
7153 releasePointer(_env, _array, coords, JNI_FALSE);
7154 }
7155 if (_exception) {
7156 jniThrowException(_env, _exceptionType, _exceptionMessage);
7157 }
7158 }
7159
7160 /* void glLoadPaletteFromModelViewMatrixOES ( void ) */
7161 static void
android_glLoadPaletteFromModelViewMatrixOES__(JNIEnv * _env,jobject _this)7162 android_glLoadPaletteFromModelViewMatrixOES__
7163 (JNIEnv *_env, jobject _this) {
7164 glLoadPaletteFromModelViewMatrixOES();
7165 }
7166
7167 /* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
7168 static void
android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jobject pointer_buf,jint remaining)7169 android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I
7170 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
7171 jarray _array = (jarray) 0;
7172 jint _bufferOffset = (jint) 0;
7173 jint _remaining;
7174 GLvoid *pointer = (GLvoid *) 0;
7175
7176 if (pointer_buf) {
7177 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
7178 if ( ! pointer ) {
7179 return;
7180 }
7181 }
7182 glMatrixIndexPointerOESBounds(
7183 (GLint)size,
7184 (GLenum)type,
7185 (GLsizei)stride,
7186 (GLvoid *)pointer,
7187 (GLsizei)remaining
7188 );
7189 }
7190
7191 /* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
7192 static void
android_glMatrixIndexPointerOES__IIII(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jint offset)7193 android_glMatrixIndexPointerOES__IIII
7194 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
7195 glMatrixIndexPointerOES(
7196 (GLint)size,
7197 (GLenum)type,
7198 (GLsizei)stride,
7199 (const GLvoid *)offset
7200 );
7201 }
7202
7203 /* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
7204 static void
android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jobject pointer_buf,jint remaining)7205 android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I
7206 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
7207 jarray _array = (jarray) 0;
7208 jint _bufferOffset = (jint) 0;
7209 jint _remaining;
7210 GLvoid *pointer = (GLvoid *) 0;
7211
7212 if (pointer_buf) {
7213 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
7214 if ( ! pointer ) {
7215 return;
7216 }
7217 }
7218 glWeightPointerOESBounds(
7219 (GLint)size,
7220 (GLenum)type,
7221 (GLsizei)stride,
7222 (GLvoid *)pointer,
7223 (GLsizei)remaining
7224 );
7225 }
7226
7227 /* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
7228 static void
android_glWeightPointerOES__IIII(JNIEnv * _env,jobject _this,jint size,jint type,jint stride,jint offset)7229 android_glWeightPointerOES__IIII
7230 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
7231 glWeightPointerOES(
7232 (GLint)size,
7233 (GLenum)type,
7234 (GLsizei)stride,
7235 (const GLvoid *)offset
7236 );
7237 }
7238
7239 /* void glBindFramebufferOES ( GLint target, GLint framebuffer ) */
7240 static void
android_glBindFramebufferOES__II(JNIEnv * _env,jobject _this,jint target,jint framebuffer)7241 android_glBindFramebufferOES__II
7242 (JNIEnv *_env, jobject _this, jint target, jint framebuffer) {
7243 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7244 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7245 "glBindFramebufferOES");
7246 return;
7247 }
7248 glBindFramebufferOES(
7249 (GLint)target,
7250 (GLint)framebuffer
7251 );
7252 }
7253
7254 /* void glBindRenderbufferOES ( GLint target, GLint renderbuffer ) */
7255 static void
android_glBindRenderbufferOES__II(JNIEnv * _env,jobject _this,jint target,jint renderbuffer)7256 android_glBindRenderbufferOES__II
7257 (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) {
7258 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7259 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7260 "glBindRenderbufferOES");
7261 return;
7262 }
7263 glBindRenderbufferOES(
7264 (GLint)target,
7265 (GLint)renderbuffer
7266 );
7267 }
7268
7269 /* void glBlendEquation ( GLint mode ) */
7270 static void
android_glBlendEquation__I(JNIEnv * _env,jobject _this,jint mode)7271 android_glBlendEquation__I
7272 (JNIEnv *_env, jobject _this, jint mode) {
7273 if (! supportsExtension(_env, _this, have_OES_blend_subtractID)) {
7274 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7275 "glBlendEquation");
7276 return;
7277 }
7278 glBlendEquation(
7279 (GLint)mode
7280 );
7281 }
7282
7283 /* void glBlendEquationSeparate ( GLint modeRGB, GLint modeAlpha ) */
7284 static void
android_glBlendEquationSeparate__II(JNIEnv * _env,jobject _this,jint modeRGB,jint modeAlpha)7285 android_glBlendEquationSeparate__II
7286 (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) {
7287 if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) {
7288 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7289 "glBlendEquationSeparate");
7290 return;
7291 }
7292 glBlendEquationSeparate(
7293 (GLint)modeRGB,
7294 (GLint)modeAlpha
7295 );
7296 }
7297
7298 /* void glBlendFuncSeparate ( GLint srcRGB, GLint dstRGB, GLint srcAlpha, GLint dstAlpha ) */
7299 static void
android_glBlendFuncSeparate__IIII(JNIEnv * _env,jobject _this,jint srcRGB,jint dstRGB,jint srcAlpha,jint dstAlpha)7300 android_glBlendFuncSeparate__IIII
7301 (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
7302 if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) {
7303 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7304 "glBlendFuncSeparate");
7305 return;
7306 }
7307 glBlendFuncSeparate(
7308 (GLint)srcRGB,
7309 (GLint)dstRGB,
7310 (GLint)srcAlpha,
7311 (GLint)dstAlpha
7312 );
7313 }
7314
7315 /* GLint glCheckFramebufferStatusOES ( GLint target ) */
7316 static jint
android_glCheckFramebufferStatusOES__I(JNIEnv * _env,jobject _this,jint target)7317 android_glCheckFramebufferStatusOES__I
7318 (JNIEnv *_env, jobject _this, jint target) {
7319 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7320 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7321 "glCheckFramebufferStatusOES");
7322 return 0;
7323 }
7324 GLint _returnValue = 0;
7325 _returnValue = glCheckFramebufferStatusOES(
7326 (GLint)target
7327 );
7328 return _returnValue;
7329 }
7330
7331 /* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */
7332 static void
android_glDeleteFramebuffersOES__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray framebuffers_ref,jint offset)7333 android_glDeleteFramebuffersOES__I_3II
7334 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
7335 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7336 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7337 "glDeleteFramebuffersOES");
7338 return;
7339 }
7340 jint _exception = 0;
7341 const char * _exceptionType = NULL;
7342 const char * _exceptionMessage = NULL;
7343 GLuint *framebuffers_base = (GLuint *) 0;
7344 jint _remaining;
7345 GLuint *framebuffers = (GLuint *) 0;
7346
7347 if (!framebuffers_ref) {
7348 _exception = 1;
7349 _exceptionType = "java/lang/IllegalArgumentException";
7350 _exceptionMessage = "framebuffers == null";
7351 goto exit;
7352 }
7353 if (offset < 0) {
7354 _exception = 1;
7355 _exceptionType = "java/lang/IllegalArgumentException";
7356 _exceptionMessage = "offset < 0";
7357 goto exit;
7358 }
7359 _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
7360 if (_remaining < n) {
7361 _exception = 1;
7362 _exceptionType = "java/lang/IllegalArgumentException";
7363 _exceptionMessage = "length - offset < n < needed";
7364 goto exit;
7365 }
7366 framebuffers_base = (GLuint *)
7367 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
7368 framebuffers = framebuffers_base + offset;
7369
7370 glDeleteFramebuffersOES(
7371 (GLint)n,
7372 (GLuint *)framebuffers
7373 );
7374
7375 exit:
7376 if (framebuffers_base) {
7377 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
7378 _exception ? JNI_ABORT: 0);
7379 }
7380 if (_exception) {
7381 jniThrowException(_env, _exceptionType, _exceptionMessage);
7382 }
7383 }
7384
7385 /* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */
7386 static void
android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject framebuffers_buf)7387 android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2
7388 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
7389 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7390 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7391 "glDeleteFramebuffersOES");
7392 return;
7393 }
7394 jint _exception = 0;
7395 const char * _exceptionType = NULL;
7396 const char * _exceptionMessage = NULL;
7397 jarray _array = (jarray) 0;
7398 jint _bufferOffset = (jint) 0;
7399 jint _remaining;
7400 GLuint *framebuffers = (GLuint *) 0;
7401
7402 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
7403 if (_remaining < n) {
7404 _exception = 1;
7405 _exceptionType = "java/lang/IllegalArgumentException";
7406 _exceptionMessage = "remaining() < n < needed";
7407 goto exit;
7408 }
7409 if (framebuffers == NULL) {
7410 char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7411 framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
7412 }
7413 glDeleteFramebuffersOES(
7414 (GLint)n,
7415 (GLuint *)framebuffers
7416 );
7417
7418 exit:
7419 if (_array) {
7420 releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE);
7421 }
7422 if (_exception) {
7423 jniThrowException(_env, _exceptionType, _exceptionMessage);
7424 }
7425 }
7426
7427 /* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */
7428 static void
android_glDeleteRenderbuffersOES__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray renderbuffers_ref,jint offset)7429 android_glDeleteRenderbuffersOES__I_3II
7430 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
7431 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7432 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7433 "glDeleteRenderbuffersOES");
7434 return;
7435 }
7436 jint _exception = 0;
7437 const char * _exceptionType = NULL;
7438 const char * _exceptionMessage = NULL;
7439 GLuint *renderbuffers_base = (GLuint *) 0;
7440 jint _remaining;
7441 GLuint *renderbuffers = (GLuint *) 0;
7442
7443 if (!renderbuffers_ref) {
7444 _exception = 1;
7445 _exceptionType = "java/lang/IllegalArgumentException";
7446 _exceptionMessage = "renderbuffers == null";
7447 goto exit;
7448 }
7449 if (offset < 0) {
7450 _exception = 1;
7451 _exceptionType = "java/lang/IllegalArgumentException";
7452 _exceptionMessage = "offset < 0";
7453 goto exit;
7454 }
7455 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
7456 if (_remaining < n) {
7457 _exception = 1;
7458 _exceptionType = "java/lang/IllegalArgumentException";
7459 _exceptionMessage = "length - offset < n < needed";
7460 goto exit;
7461 }
7462 renderbuffers_base = (GLuint *)
7463 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
7464 renderbuffers = renderbuffers_base + offset;
7465
7466 glDeleteRenderbuffersOES(
7467 (GLint)n,
7468 (GLuint *)renderbuffers
7469 );
7470
7471 exit:
7472 if (renderbuffers_base) {
7473 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
7474 _exception ? JNI_ABORT: 0);
7475 }
7476 if (_exception) {
7477 jniThrowException(_env, _exceptionType, _exceptionMessage);
7478 }
7479 }
7480
7481 /* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */
7482 static void
android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject renderbuffers_buf)7483 android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2
7484 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
7485 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7486 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7487 "glDeleteRenderbuffersOES");
7488 return;
7489 }
7490 jint _exception = 0;
7491 const char * _exceptionType = NULL;
7492 const char * _exceptionMessage = NULL;
7493 jarray _array = (jarray) 0;
7494 jint _bufferOffset = (jint) 0;
7495 jint _remaining;
7496 GLuint *renderbuffers = (GLuint *) 0;
7497
7498 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
7499 if (_remaining < n) {
7500 _exception = 1;
7501 _exceptionType = "java/lang/IllegalArgumentException";
7502 _exceptionMessage = "remaining() < n < needed";
7503 goto exit;
7504 }
7505 if (renderbuffers == NULL) {
7506 char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7507 renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
7508 }
7509 glDeleteRenderbuffersOES(
7510 (GLint)n,
7511 (GLuint *)renderbuffers
7512 );
7513
7514 exit:
7515 if (_array) {
7516 releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE);
7517 }
7518 if (_exception) {
7519 jniThrowException(_env, _exceptionType, _exceptionMessage);
7520 }
7521 }
7522
7523 /* void glFramebufferRenderbufferOES ( GLint target, GLint attachment, GLint renderbuffertarget, GLint renderbuffer ) */
7524 static void
android_glFramebufferRenderbufferOES__IIII(JNIEnv * _env,jobject _this,jint target,jint attachment,jint renderbuffertarget,jint renderbuffer)7525 android_glFramebufferRenderbufferOES__IIII
7526 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) {
7527 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7528 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7529 "glFramebufferRenderbufferOES");
7530 return;
7531 }
7532 glFramebufferRenderbufferOES(
7533 (GLint)target,
7534 (GLint)attachment,
7535 (GLint)renderbuffertarget,
7536 (GLint)renderbuffer
7537 );
7538 }
7539
7540 /* void glFramebufferTexture2DOES ( GLint target, GLint attachment, GLint textarget, GLint texture, GLint level ) */
7541 static void
android_glFramebufferTexture2DOES__IIIII(JNIEnv * _env,jobject _this,jint target,jint attachment,jint textarget,jint texture,jint level)7542 android_glFramebufferTexture2DOES__IIIII
7543 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) {
7544 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7545 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7546 "glFramebufferTexture2DOES");
7547 return;
7548 }
7549 glFramebufferTexture2DOES(
7550 (GLint)target,
7551 (GLint)attachment,
7552 (GLint)textarget,
7553 (GLint)texture,
7554 (GLint)level
7555 );
7556 }
7557
7558 /* void glGenerateMipmapOES ( GLint target ) */
7559 static void
android_glGenerateMipmapOES__I(JNIEnv * _env,jobject _this,jint target)7560 android_glGenerateMipmapOES__I
7561 (JNIEnv *_env, jobject _this, jint target) {
7562 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7563 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7564 "glGenerateMipmapOES");
7565 return;
7566 }
7567 glGenerateMipmapOES(
7568 (GLint)target
7569 );
7570 }
7571
7572 /* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */
7573 static void
android_glGenFramebuffersOES__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray framebuffers_ref,jint offset)7574 android_glGenFramebuffersOES__I_3II
7575 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
7576 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7577 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7578 "glGenFramebuffersOES");
7579 return;
7580 }
7581 jint _exception = 0;
7582 const char * _exceptionType = NULL;
7583 const char * _exceptionMessage = NULL;
7584 GLuint *framebuffers_base = (GLuint *) 0;
7585 jint _remaining;
7586 GLuint *framebuffers = (GLuint *) 0;
7587
7588 if (!framebuffers_ref) {
7589 _exception = 1;
7590 _exceptionType = "java/lang/IllegalArgumentException";
7591 _exceptionMessage = "framebuffers == null";
7592 goto exit;
7593 }
7594 if (offset < 0) {
7595 _exception = 1;
7596 _exceptionType = "java/lang/IllegalArgumentException";
7597 _exceptionMessage = "offset < 0";
7598 goto exit;
7599 }
7600 _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
7601 if (_remaining < n) {
7602 _exception = 1;
7603 _exceptionType = "java/lang/IllegalArgumentException";
7604 _exceptionMessage = "length - offset < n < needed";
7605 goto exit;
7606 }
7607 framebuffers_base = (GLuint *)
7608 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
7609 framebuffers = framebuffers_base + offset;
7610
7611 glGenFramebuffersOES(
7612 (GLint)n,
7613 (GLuint *)framebuffers
7614 );
7615
7616 exit:
7617 if (framebuffers_base) {
7618 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
7619 _exception ? JNI_ABORT: 0);
7620 }
7621 if (_exception) {
7622 jniThrowException(_env, _exceptionType, _exceptionMessage);
7623 }
7624 }
7625
7626 /* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */
7627 static void
android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject framebuffers_buf)7628 android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2
7629 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
7630 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7631 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7632 "glGenFramebuffersOES");
7633 return;
7634 }
7635 jint _exception = 0;
7636 const char * _exceptionType = NULL;
7637 const char * _exceptionMessage = NULL;
7638 jarray _array = (jarray) 0;
7639 jint _bufferOffset = (jint) 0;
7640 jint _remaining;
7641 GLuint *framebuffers = (GLuint *) 0;
7642
7643 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
7644 if (_remaining < n) {
7645 _exception = 1;
7646 _exceptionType = "java/lang/IllegalArgumentException";
7647 _exceptionMessage = "remaining() < n < needed";
7648 goto exit;
7649 }
7650 if (framebuffers == NULL) {
7651 char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7652 framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
7653 }
7654 glGenFramebuffersOES(
7655 (GLint)n,
7656 (GLuint *)framebuffers
7657 );
7658
7659 exit:
7660 if (_array) {
7661 releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE);
7662 }
7663 if (_exception) {
7664 jniThrowException(_env, _exceptionType, _exceptionMessage);
7665 }
7666 }
7667
7668 /* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */
7669 static void
android_glGenRenderbuffersOES__I_3II(JNIEnv * _env,jobject _this,jint n,jintArray renderbuffers_ref,jint offset)7670 android_glGenRenderbuffersOES__I_3II
7671 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
7672 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7673 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7674 "glGenRenderbuffersOES");
7675 return;
7676 }
7677 jint _exception = 0;
7678 const char * _exceptionType = NULL;
7679 const char * _exceptionMessage = NULL;
7680 GLuint *renderbuffers_base = (GLuint *) 0;
7681 jint _remaining;
7682 GLuint *renderbuffers = (GLuint *) 0;
7683
7684 if (!renderbuffers_ref) {
7685 _exception = 1;
7686 _exceptionType = "java/lang/IllegalArgumentException";
7687 _exceptionMessage = "renderbuffers == null";
7688 goto exit;
7689 }
7690 if (offset < 0) {
7691 _exception = 1;
7692 _exceptionType = "java/lang/IllegalArgumentException";
7693 _exceptionMessage = "offset < 0";
7694 goto exit;
7695 }
7696 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
7697 if (_remaining < n) {
7698 _exception = 1;
7699 _exceptionType = "java/lang/IllegalArgumentException";
7700 _exceptionMessage = "length - offset < n < needed";
7701 goto exit;
7702 }
7703 renderbuffers_base = (GLuint *)
7704 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
7705 renderbuffers = renderbuffers_base + offset;
7706
7707 glGenRenderbuffersOES(
7708 (GLint)n,
7709 (GLuint *)renderbuffers
7710 );
7711
7712 exit:
7713 if (renderbuffers_base) {
7714 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
7715 _exception ? JNI_ABORT: 0);
7716 }
7717 if (_exception) {
7718 jniThrowException(_env, _exceptionType, _exceptionMessage);
7719 }
7720 }
7721
7722 /* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */
7723 static void
android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint n,jobject renderbuffers_buf)7724 android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2
7725 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
7726 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7727 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7728 "glGenRenderbuffersOES");
7729 return;
7730 }
7731 jint _exception = 0;
7732 const char * _exceptionType = NULL;
7733 const char * _exceptionMessage = NULL;
7734 jarray _array = (jarray) 0;
7735 jint _bufferOffset = (jint) 0;
7736 jint _remaining;
7737 GLuint *renderbuffers = (GLuint *) 0;
7738
7739 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
7740 if (_remaining < n) {
7741 _exception = 1;
7742 _exceptionType = "java/lang/IllegalArgumentException";
7743 _exceptionMessage = "remaining() < n < needed";
7744 goto exit;
7745 }
7746 if (renderbuffers == NULL) {
7747 char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7748 renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
7749 }
7750 glGenRenderbuffersOES(
7751 (GLint)n,
7752 (GLuint *)renderbuffers
7753 );
7754
7755 exit:
7756 if (_array) {
7757 releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE);
7758 }
7759 if (_exception) {
7760 jniThrowException(_env, _exceptionType, _exceptionMessage);
7761 }
7762 }
7763
7764 /* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */
7765 static void
android_glGetFramebufferAttachmentParameterivOES__III_3II(JNIEnv * _env,jobject _this,jint target,jint attachment,jint pname,jintArray params_ref,jint offset)7766 android_glGetFramebufferAttachmentParameterivOES__III_3II
7767 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) {
7768 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7769 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7770 "glGetFramebufferAttachmentParameterivOES");
7771 return;
7772 }
7773 jint _exception = 0;
7774 const char * _exceptionType = NULL;
7775 const char * _exceptionMessage = NULL;
7776 GLint *params_base = (GLint *) 0;
7777 jint _remaining;
7778 GLint *params = (GLint *) 0;
7779
7780 if (!params_ref) {
7781 _exception = 1;
7782 _exceptionType = "java/lang/IllegalArgumentException";
7783 _exceptionMessage = "params == null";
7784 goto exit;
7785 }
7786 if (offset < 0) {
7787 _exception = 1;
7788 _exceptionType = "java/lang/IllegalArgumentException";
7789 _exceptionMessage = "offset < 0";
7790 goto exit;
7791 }
7792 _remaining = _env->GetArrayLength(params_ref) - offset;
7793 params_base = (GLint *)
7794 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
7795 params = params_base + offset;
7796
7797 glGetFramebufferAttachmentParameterivOES(
7798 (GLint)target,
7799 (GLint)attachment,
7800 (GLint)pname,
7801 (GLint *)params
7802 );
7803
7804 exit:
7805 if (params_base) {
7806 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
7807 _exception ? JNI_ABORT: 0);
7808 }
7809 if (_exception) {
7810 jniThrowException(_env, _exceptionType, _exceptionMessage);
7811 }
7812 }
7813
7814 /* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */
7815 static void
android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint attachment,jint pname,jobject params_buf)7816 android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2
7817 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) {
7818 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7819 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7820 "glGetFramebufferAttachmentParameterivOES");
7821 return;
7822 }
7823 jarray _array = (jarray) 0;
7824 jint _bufferOffset = (jint) 0;
7825 jint _remaining;
7826 GLint *params = (GLint *) 0;
7827
7828 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
7829 if (params == NULL) {
7830 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7831 params = (GLint *) (_paramsBase + _bufferOffset);
7832 }
7833 glGetFramebufferAttachmentParameterivOES(
7834 (GLint)target,
7835 (GLint)attachment,
7836 (GLint)pname,
7837 (GLint *)params
7838 );
7839 if (_array) {
7840 releasePointer(_env, _array, params, JNI_TRUE);
7841 }
7842 }
7843
7844 /* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */
7845 static void
android_glGetRenderbufferParameterivOES__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)7846 android_glGetRenderbufferParameterivOES__II_3II
7847 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
7848 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7849 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7850 "glGetRenderbufferParameterivOES");
7851 return;
7852 }
7853 jint _exception = 0;
7854 const char * _exceptionType = NULL;
7855 const char * _exceptionMessage = NULL;
7856 GLint *params_base = (GLint *) 0;
7857 jint _remaining;
7858 GLint *params = (GLint *) 0;
7859
7860 if (!params_ref) {
7861 _exception = 1;
7862 _exceptionType = "java/lang/IllegalArgumentException";
7863 _exceptionMessage = "params == null";
7864 goto exit;
7865 }
7866 if (offset < 0) {
7867 _exception = 1;
7868 _exceptionType = "java/lang/IllegalArgumentException";
7869 _exceptionMessage = "offset < 0";
7870 goto exit;
7871 }
7872 _remaining = _env->GetArrayLength(params_ref) - offset;
7873 params_base = (GLint *)
7874 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
7875 params = params_base + offset;
7876
7877 glGetRenderbufferParameterivOES(
7878 (GLint)target,
7879 (GLint)pname,
7880 (GLint *)params
7881 );
7882
7883 exit:
7884 if (params_base) {
7885 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
7886 _exception ? JNI_ABORT: 0);
7887 }
7888 if (_exception) {
7889 jniThrowException(_env, _exceptionType, _exceptionMessage);
7890 }
7891 }
7892
7893 /* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */
7894 static void
android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)7895 android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2
7896 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
7897 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
7898 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7899 "glGetRenderbufferParameterivOES");
7900 return;
7901 }
7902 jarray _array = (jarray) 0;
7903 jint _bufferOffset = (jint) 0;
7904 jint _remaining;
7905 GLint *params = (GLint *) 0;
7906
7907 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
7908 if (params == NULL) {
7909 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7910 params = (GLint *) (_paramsBase + _bufferOffset);
7911 }
7912 glGetRenderbufferParameterivOES(
7913 (GLint)target,
7914 (GLint)pname,
7915 (GLint *)params
7916 );
7917 if (_array) {
7918 releasePointer(_env, _array, params, JNI_TRUE);
7919 }
7920 }
7921
7922 /* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
7923 static void
android_glGetTexGenfv__II_3FI(JNIEnv * _env,jobject _this,jint coord,jint pname,jfloatArray params_ref,jint offset)7924 android_glGetTexGenfv__II_3FI
7925 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
7926 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
7927 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7928 "glGetTexGenfv");
7929 return;
7930 }
7931 jint _exception = 0;
7932 const char * _exceptionType = NULL;
7933 const char * _exceptionMessage = NULL;
7934 GLfloat *params_base = (GLfloat *) 0;
7935 jint _remaining;
7936 GLfloat *params = (GLfloat *) 0;
7937
7938 if (!params_ref) {
7939 _exception = 1;
7940 _exceptionType = "java/lang/IllegalArgumentException";
7941 _exceptionMessage = "params == null";
7942 goto exit;
7943 }
7944 if (offset < 0) {
7945 _exception = 1;
7946 _exceptionType = "java/lang/IllegalArgumentException";
7947 _exceptionMessage = "offset < 0";
7948 goto exit;
7949 }
7950 _remaining = _env->GetArrayLength(params_ref) - offset;
7951 params_base = (GLfloat *)
7952 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
7953 params = params_base + offset;
7954
7955 glGetTexGenfv(
7956 (GLint)coord,
7957 (GLint)pname,
7958 (GLfloat *)params
7959 );
7960
7961 exit:
7962 if (params_base) {
7963 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
7964 _exception ? JNI_ABORT: 0);
7965 }
7966 if (_exception) {
7967 jniThrowException(_env, _exceptionType, _exceptionMessage);
7968 }
7969 }
7970
7971 /* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
7972 static void
android_glGetTexGenfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)7973 android_glGetTexGenfv__IILjava_nio_FloatBuffer_2
7974 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
7975 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
7976 jniThrowException(_env, "java/lang/UnsupportedOperationException",
7977 "glGetTexGenfv");
7978 return;
7979 }
7980 jarray _array = (jarray) 0;
7981 jint _bufferOffset = (jint) 0;
7982 jint _remaining;
7983 GLfloat *params = (GLfloat *) 0;
7984
7985 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
7986 if (params == NULL) {
7987 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
7988 params = (GLfloat *) (_paramsBase + _bufferOffset);
7989 }
7990 glGetTexGenfv(
7991 (GLint)coord,
7992 (GLint)pname,
7993 (GLfloat *)params
7994 );
7995 if (_array) {
7996 releasePointer(_env, _array, params, JNI_TRUE);
7997 }
7998 }
7999
8000 /* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */
8001 static void
android_glGetTexGeniv__II_3II(JNIEnv * _env,jobject _this,jint coord,jint pname,jintArray params_ref,jint offset)8002 android_glGetTexGeniv__II_3II
8003 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
8004 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8005 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8006 "glGetTexGeniv");
8007 return;
8008 }
8009 jint _exception = 0;
8010 const char * _exceptionType = NULL;
8011 const char * _exceptionMessage = NULL;
8012 GLint *params_base = (GLint *) 0;
8013 jint _remaining;
8014 GLint *params = (GLint *) 0;
8015
8016 if (!params_ref) {
8017 _exception = 1;
8018 _exceptionType = "java/lang/IllegalArgumentException";
8019 _exceptionMessage = "params == null";
8020 goto exit;
8021 }
8022 if (offset < 0) {
8023 _exception = 1;
8024 _exceptionType = "java/lang/IllegalArgumentException";
8025 _exceptionMessage = "offset < 0";
8026 goto exit;
8027 }
8028 _remaining = _env->GetArrayLength(params_ref) - offset;
8029 params_base = (GLint *)
8030 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
8031 params = params_base + offset;
8032
8033 glGetTexGeniv(
8034 (GLint)coord,
8035 (GLint)pname,
8036 (GLint *)params
8037 );
8038
8039 exit:
8040 if (params_base) {
8041 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
8042 _exception ? JNI_ABORT: 0);
8043 }
8044 if (_exception) {
8045 jniThrowException(_env, _exceptionType, _exceptionMessage);
8046 }
8047 }
8048
8049 /* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */
8050 static void
android_glGetTexGeniv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)8051 android_glGetTexGeniv__IILjava_nio_IntBuffer_2
8052 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
8053 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8054 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8055 "glGetTexGeniv");
8056 return;
8057 }
8058 jarray _array = (jarray) 0;
8059 jint _bufferOffset = (jint) 0;
8060 jint _remaining;
8061 GLint *params = (GLint *) 0;
8062
8063 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
8064 if (params == NULL) {
8065 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
8066 params = (GLint *) (_paramsBase + _bufferOffset);
8067 }
8068 glGetTexGeniv(
8069 (GLint)coord,
8070 (GLint)pname,
8071 (GLint *)params
8072 );
8073 if (_array) {
8074 releasePointer(_env, _array, params, JNI_TRUE);
8075 }
8076 }
8077
8078 /* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */
8079 static void
android_glGetTexGenxv__II_3II(JNIEnv * _env,jobject _this,jint coord,jint pname,jintArray params_ref,jint offset)8080 android_glGetTexGenxv__II_3II
8081 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
8082 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8083 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8084 "glGetTexGenxv");
8085 return;
8086 }
8087 jint _exception = 0;
8088 const char * _exceptionType = NULL;
8089 const char * _exceptionMessage = NULL;
8090 GLint *params_base = (GLint *) 0;
8091 jint _remaining;
8092 GLint *params = (GLint *) 0;
8093
8094 if (!params_ref) {
8095 _exception = 1;
8096 _exceptionType = "java/lang/IllegalArgumentException";
8097 _exceptionMessage = "params == null";
8098 goto exit;
8099 }
8100 if (offset < 0) {
8101 _exception = 1;
8102 _exceptionType = "java/lang/IllegalArgumentException";
8103 _exceptionMessage = "offset < 0";
8104 goto exit;
8105 }
8106 _remaining = _env->GetArrayLength(params_ref) - offset;
8107 params_base = (GLint *)
8108 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
8109 params = params_base + offset;
8110
8111 glGetTexGenxv(
8112 (GLint)coord,
8113 (GLint)pname,
8114 (GLint *)params
8115 );
8116
8117 exit:
8118 if (params_base) {
8119 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
8120 _exception ? JNI_ABORT: 0);
8121 }
8122 if (_exception) {
8123 jniThrowException(_env, _exceptionType, _exceptionMessage);
8124 }
8125 }
8126
8127 /* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */
8128 static void
android_glGetTexGenxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)8129 android_glGetTexGenxv__IILjava_nio_IntBuffer_2
8130 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
8131 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8132 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8133 "glGetTexGenxv");
8134 return;
8135 }
8136 jarray _array = (jarray) 0;
8137 jint _bufferOffset = (jint) 0;
8138 jint _remaining;
8139 GLint *params = (GLint *) 0;
8140
8141 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
8142 if (params == NULL) {
8143 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
8144 params = (GLint *) (_paramsBase + _bufferOffset);
8145 }
8146 glGetTexGenxv(
8147 (GLint)coord,
8148 (GLint)pname,
8149 (GLint *)params
8150 );
8151 if (_array) {
8152 releasePointer(_env, _array, params, JNI_TRUE);
8153 }
8154 }
8155
8156 /* GLboolean glIsFramebufferOES ( GLint framebuffer ) */
8157 static jboolean
android_glIsFramebufferOES__I(JNIEnv * _env,jobject _this,jint framebuffer)8158 android_glIsFramebufferOES__I
8159 (JNIEnv *_env, jobject _this, jint framebuffer) {
8160 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
8161 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8162 "glIsFramebufferOES");
8163 return JNI_FALSE;
8164 }
8165 GLboolean _returnValue = JNI_FALSE;
8166 _returnValue = glIsFramebufferOES(
8167 (GLint)framebuffer
8168 );
8169 return _returnValue;
8170 }
8171
8172 /* GLboolean glIsRenderbufferOES ( GLint renderbuffer ) */
8173 static jboolean
android_glIsRenderbufferOES__I(JNIEnv * _env,jobject _this,jint renderbuffer)8174 android_glIsRenderbufferOES__I
8175 (JNIEnv *_env, jobject _this, jint renderbuffer) {
8176 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
8177 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8178 "glIsRenderbufferOES");
8179 return JNI_FALSE;
8180 }
8181 GLboolean _returnValue = JNI_FALSE;
8182 _returnValue = glIsRenderbufferOES(
8183 (GLint)renderbuffer
8184 );
8185 return _returnValue;
8186 }
8187
8188 /* void glRenderbufferStorageOES ( GLint target, GLint internalformat, GLint width, GLint height ) */
8189 static void
android_glRenderbufferStorageOES__IIII(JNIEnv * _env,jobject _this,jint target,jint internalformat,jint width,jint height)8190 android_glRenderbufferStorageOES__IIII
8191 (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) {
8192 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) {
8193 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8194 "glRenderbufferStorageOES");
8195 return;
8196 }
8197 glRenderbufferStorageOES(
8198 (GLint)target,
8199 (GLint)internalformat,
8200 (GLint)width,
8201 (GLint)height
8202 );
8203 }
8204
8205 /* void glTexGenf ( GLint coord, GLint pname, GLfloat param ) */
8206 static void
android_glTexGenf__IIF(JNIEnv * _env,jobject _this,jint coord,jint pname,jfloat param)8207 android_glTexGenf__IIF
8208 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) {
8209 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8210 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8211 "glTexGenf");
8212 return;
8213 }
8214 glTexGenf(
8215 (GLint)coord,
8216 (GLint)pname,
8217 (GLfloat)param
8218 );
8219 }
8220
8221 /* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
8222 static void
android_glTexGenfv__II_3FI(JNIEnv * _env,jobject _this,jint coord,jint pname,jfloatArray params_ref,jint offset)8223 android_glTexGenfv__II_3FI
8224 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
8225 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8226 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8227 "glTexGenfv");
8228 return;
8229 }
8230 jint _exception = 0;
8231 const char * _exceptionType = NULL;
8232 const char * _exceptionMessage = NULL;
8233 GLfloat *params_base = (GLfloat *) 0;
8234 jint _remaining;
8235 GLfloat *params = (GLfloat *) 0;
8236
8237 if (!params_ref) {
8238 _exception = 1;
8239 _exceptionType = "java/lang/IllegalArgumentException";
8240 _exceptionMessage = "params == null";
8241 goto exit;
8242 }
8243 if (offset < 0) {
8244 _exception = 1;
8245 _exceptionType = "java/lang/IllegalArgumentException";
8246 _exceptionMessage = "offset < 0";
8247 goto exit;
8248 }
8249 _remaining = _env->GetArrayLength(params_ref) - offset;
8250 params_base = (GLfloat *)
8251 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
8252 params = params_base + offset;
8253
8254 glTexGenfv(
8255 (GLint)coord,
8256 (GLint)pname,
8257 (GLfloat *)params
8258 );
8259
8260 exit:
8261 if (params_base) {
8262 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
8263 _exception ? JNI_ABORT: 0);
8264 }
8265 if (_exception) {
8266 jniThrowException(_env, _exceptionType, _exceptionMessage);
8267 }
8268 }
8269
8270 /* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
8271 static void
android_glTexGenfv__IILjava_nio_FloatBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)8272 android_glTexGenfv__IILjava_nio_FloatBuffer_2
8273 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
8274 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8275 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8276 "glTexGenfv");
8277 return;
8278 }
8279 jarray _array = (jarray) 0;
8280 jint _bufferOffset = (jint) 0;
8281 jint _remaining;
8282 GLfloat *params = (GLfloat *) 0;
8283
8284 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
8285 if (params == NULL) {
8286 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
8287 params = (GLfloat *) (_paramsBase + _bufferOffset);
8288 }
8289 glTexGenfv(
8290 (GLint)coord,
8291 (GLint)pname,
8292 (GLfloat *)params
8293 );
8294 if (_array) {
8295 releasePointer(_env, _array, params, JNI_TRUE);
8296 }
8297 }
8298
8299 /* void glTexGeni ( GLint coord, GLint pname, GLint param ) */
8300 static void
android_glTexGeni__III(JNIEnv * _env,jobject _this,jint coord,jint pname,jint param)8301 android_glTexGeni__III
8302 (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
8303 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8304 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8305 "glTexGeni");
8306 return;
8307 }
8308 glTexGeni(
8309 (GLint)coord,
8310 (GLint)pname,
8311 (GLint)param
8312 );
8313 }
8314
8315 /* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */
8316 static void
android_glTexGeniv__II_3II(JNIEnv * _env,jobject _this,jint coord,jint pname,jintArray params_ref,jint offset)8317 android_glTexGeniv__II_3II
8318 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
8319 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8320 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8321 "glTexGeniv");
8322 return;
8323 }
8324 jint _exception = 0;
8325 const char * _exceptionType = NULL;
8326 const char * _exceptionMessage = NULL;
8327 GLint *params_base = (GLint *) 0;
8328 jint _remaining;
8329 GLint *params = (GLint *) 0;
8330
8331 if (!params_ref) {
8332 _exception = 1;
8333 _exceptionType = "java/lang/IllegalArgumentException";
8334 _exceptionMessage = "params == null";
8335 goto exit;
8336 }
8337 if (offset < 0) {
8338 _exception = 1;
8339 _exceptionType = "java/lang/IllegalArgumentException";
8340 _exceptionMessage = "offset < 0";
8341 goto exit;
8342 }
8343 _remaining = _env->GetArrayLength(params_ref) - offset;
8344 params_base = (GLint *)
8345 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
8346 params = params_base + offset;
8347
8348 glTexGeniv(
8349 (GLint)coord,
8350 (GLint)pname,
8351 (GLint *)params
8352 );
8353
8354 exit:
8355 if (params_base) {
8356 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
8357 _exception ? JNI_ABORT: 0);
8358 }
8359 if (_exception) {
8360 jniThrowException(_env, _exceptionType, _exceptionMessage);
8361 }
8362 }
8363
8364 /* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */
8365 static void
android_glTexGeniv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)8366 android_glTexGeniv__IILjava_nio_IntBuffer_2
8367 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
8368 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8369 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8370 "glTexGeniv");
8371 return;
8372 }
8373 jarray _array = (jarray) 0;
8374 jint _bufferOffset = (jint) 0;
8375 jint _remaining;
8376 GLint *params = (GLint *) 0;
8377
8378 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
8379 if (params == NULL) {
8380 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
8381 params = (GLint *) (_paramsBase + _bufferOffset);
8382 }
8383 glTexGeniv(
8384 (GLint)coord,
8385 (GLint)pname,
8386 (GLint *)params
8387 );
8388 if (_array) {
8389 releasePointer(_env, _array, params, JNI_TRUE);
8390 }
8391 }
8392
8393 /* void glTexGenx ( GLint coord, GLint pname, GLint param ) */
8394 static void
android_glTexGenx__III(JNIEnv * _env,jobject _this,jint coord,jint pname,jint param)8395 android_glTexGenx__III
8396 (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
8397 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8398 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8399 "glTexGenx");
8400 return;
8401 }
8402 glTexGenx(
8403 (GLint)coord,
8404 (GLint)pname,
8405 (GLint)param
8406 );
8407 }
8408
8409 /* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */
8410 static void
android_glTexGenxv__II_3II(JNIEnv * _env,jobject _this,jint coord,jint pname,jintArray params_ref,jint offset)8411 android_glTexGenxv__II_3II
8412 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
8413 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8414 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8415 "glTexGenxv");
8416 return;
8417 }
8418 jint _exception = 0;
8419 const char * _exceptionType = NULL;
8420 const char * _exceptionMessage = NULL;
8421 GLint *params_base = (GLint *) 0;
8422 jint _remaining;
8423 GLint *params = (GLint *) 0;
8424
8425 if (!params_ref) {
8426 _exception = 1;
8427 _exceptionType = "java/lang/IllegalArgumentException";
8428 _exceptionMessage = "params == null";
8429 goto exit;
8430 }
8431 if (offset < 0) {
8432 _exception = 1;
8433 _exceptionType = "java/lang/IllegalArgumentException";
8434 _exceptionMessage = "offset < 0";
8435 goto exit;
8436 }
8437 _remaining = _env->GetArrayLength(params_ref) - offset;
8438 params_base = (GLint *)
8439 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
8440 params = params_base + offset;
8441
8442 glTexGenxv(
8443 (GLint)coord,
8444 (GLint)pname,
8445 (GLint *)params
8446 );
8447
8448 exit:
8449 if (params_base) {
8450 _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
8451 _exception ? JNI_ABORT: 0);
8452 }
8453 if (_exception) {
8454 jniThrowException(_env, _exceptionType, _exceptionMessage);
8455 }
8456 }
8457
8458 /* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */
8459 static void
android_glTexGenxv__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint coord,jint pname,jobject params_buf)8460 android_glTexGenxv__IILjava_nio_IntBuffer_2
8461 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
8462 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) {
8463 jniThrowException(_env, "java/lang/UnsupportedOperationException",
8464 "glTexGenxv");
8465 return;
8466 }
8467 jarray _array = (jarray) 0;
8468 jint _bufferOffset = (jint) 0;
8469 jint _remaining;
8470 GLint *params = (GLint *) 0;
8471
8472 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
8473 if (params == NULL) {
8474 char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
8475 params = (GLint *) (_paramsBase + _bufferOffset);
8476 }
8477 glTexGenxv(
8478 (GLint)coord,
8479 (GLint)pname,
8480 (GLint *)params
8481 );
8482 if (_array) {
8483 releasePointer(_env, _array, params, JNI_TRUE);
8484 }
8485 }
8486
8487 static const char *classPathName = "com/google/android/gles_jni/GLImpl";
8488
8489 static JNINativeMethod methods[] = {
8490 {"_nativeClassInit", "()V", (void*)nativeClassInit },
8491 {"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I },
8492 {"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF },
8493 {"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II },
8494 {"glBindTexture", "(II)V", (void *) android_glBindTexture__II },
8495 {"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II },
8496 {"glClear", "(I)V", (void *) android_glClear__I },
8497 {"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF },
8498 {"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII },
8499 {"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F },
8500 {"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I },
8501 {"glClearStencil", "(I)V", (void *) android_glClearStencil__I },
8502 {"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I },
8503 {"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF },
8504 {"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII },
8505 {"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ },
8506 {"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I },
8507 {"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 },
8508 {"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 },
8509 {"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII },
8510 {"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII },
8511 {"glCullFace", "(I)V", (void *) android_glCullFace__I },
8512 {"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II },
8513 {"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 },
8514 {"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I },
8515 {"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z },
8516 {"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF },
8517 {"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II },
8518 {"glDisable", "(I)V", (void *) android_glDisable__I },
8519 {"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I },
8520 {"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III },
8521 {"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 },
8522 {"glEnable", "(I)V", (void *) android_glEnable__I },
8523 {"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I },
8524 {"glFinish", "()V", (void *) android_glFinish__ },
8525 {"glFlush", "()V", (void *) android_glFlush__ },
8526 {"glFogf", "(IF)V", (void *) android_glFogf__IF },
8527 {"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI },
8528 {"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 },
8529 {"glFogx", "(II)V", (void *) android_glFogx__II },
8530 {"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II },
8531 {"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 },
8532 {"glFrontFace", "(I)V", (void *) android_glFrontFace__I },
8533 {"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF },
8534 {"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII },
8535 {"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II },
8536 {"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 },
8537 {"glGetError", "()I", (void *) android_glGetError__ },
8538 {"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II },
8539 {"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 },
8540 {"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString },
8541 {"glHint", "(II)V", (void *) android_glHint__II },
8542 {"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF },
8543 {"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI },
8544 {"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 },
8545 {"glLightModelx", "(II)V", (void *) android_glLightModelx__II },
8546 {"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II },
8547 {"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 },
8548 {"glLightf", "(IIF)V", (void *) android_glLightf__IIF },
8549 {"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI },
8550 {"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 },
8551 {"glLightx", "(III)V", (void *) android_glLightx__III },
8552 {"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II },
8553 {"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 },
8554 {"glLineWidth", "(F)V", (void *) android_glLineWidth__F },
8555 {"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I },
8556 {"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ },
8557 {"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI },
8558 {"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 },
8559 {"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II },
8560 {"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 },
8561 {"glLogicOp", "(I)V", (void *) android_glLogicOp__I },
8562 {"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF },
8563 {"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI },
8564 {"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 },
8565 {"glMaterialx", "(III)V", (void *) android_glMaterialx__III },
8566 {"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II },
8567 {"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 },
8568 {"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I },
8569 {"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI },
8570 {"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 },
8571 {"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II },
8572 {"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 },
8573 {"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF },
8574 {"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII },
8575 {"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF },
8576 {"glNormal3x", "(III)V", (void *) android_glNormal3x__III },
8577 {"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I },
8578 {"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF },
8579 {"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII },
8580 {"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II },
8581 {"glPointSize", "(F)V", (void *) android_glPointSize__F },
8582 {"glPointSizex", "(I)V", (void *) android_glPointSizex__I },
8583 {"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF },
8584 {"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II },
8585 {"glPopMatrix", "()V", (void *) android_glPopMatrix__ },
8586 {"glPushMatrix", "()V", (void *) android_glPushMatrix__ },
8587 {"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 },
8588 {"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF },
8589 {"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII },
8590 {"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ },
8591 {"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ },
8592 {"glScalef", "(FFF)V", (void *) android_glScalef__FFF },
8593 {"glScalex", "(III)V", (void *) android_glScalex__III },
8594 {"glScissor", "(IIII)V", (void *) android_glScissor__IIII },
8595 {"glShadeModel", "(I)V", (void *) android_glShadeModel__I },
8596 {"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III },
8597 {"glStencilMask", "(I)V", (void *) android_glStencilMask__I },
8598 {"glStencilOp", "(III)V", (void *) android_glStencilOp__III },
8599 {"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I },
8600 {"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF },
8601 {"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI },
8602 {"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 },
8603 {"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III },
8604 {"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II },
8605 {"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 },
8606 {"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 },
8607 {"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF },
8608 {"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III },
8609 {"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 },
8610 {"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF },
8611 {"glTranslatex", "(III)V", (void *) android_glTranslatex__III },
8612 {"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I },
8613 {"glViewport", "(IIII)V", (void *) android_glViewport__IIII },
8614 {"glQueryMatrixxOES", "([II[II)I", (void *) android_glQueryMatrixxOES___3II_3II },
8615 {"glQueryMatrixxOES", "(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I", (void *) android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 },
8616 {"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II },
8617 {"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I },
8618 {"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 },
8619 {"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI },
8620 {"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 },
8621 {"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II },
8622 {"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 },
8623 {"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB },
8624 {"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII },
8625 {"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II },
8626 {"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 },
8627 {"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII },
8628 {"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II },
8629 {"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 },
8630 {"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI },
8631 {"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 },
8632 {"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II },
8633 {"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 },
8634 {"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI },
8635 {"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 },
8636 {"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II },
8637 {"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 },
8638 {"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II },
8639 {"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 },
8640 {"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI },
8641 {"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 },
8642 {"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI },
8643 {"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 },
8644 {"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II },
8645 {"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 },
8646 {"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI },
8647 {"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 },
8648 {"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II },
8649 {"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 },
8650 {"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II },
8651 {"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 },
8652 {"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II },
8653 {"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 },
8654 {"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI },
8655 {"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 },
8656 {"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II },
8657 {"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 },
8658 {"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II },
8659 {"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 },
8660 {"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I },
8661 {"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I },
8662 {"glIsTexture", "(I)Z", (void *) android_glIsTexture__I },
8663 {"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III },
8664 {"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF },
8665 {"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI },
8666 {"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 },
8667 {"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II },
8668 {"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II },
8669 {"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 },
8670 {"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I },
8671 {"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII },
8672 {"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III },
8673 {"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II },
8674 {"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 },
8675 {"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI },
8676 {"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 },
8677 {"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III },
8678 {"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II },
8679 {"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 },
8680 {"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II },
8681 {"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 },
8682 {"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII },
8683 {"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I },
8684 {"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF },
8685 {"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI },
8686 {"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 },
8687 {"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII },
8688 {"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II },
8689 {"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 },
8690 {"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS },
8691 {"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI },
8692 {"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 },
8693 {"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII },
8694 {"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II },
8695 {"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 },
8696 {"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ },
8697 {"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I },
8698 {"glMatrixIndexPointerOES", "(IIII)V", (void *) android_glMatrixIndexPointerOES__IIII },
8699 {"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I },
8700 {"glWeightPointerOES", "(IIII)V", (void *) android_glWeightPointerOES__IIII },
8701 {"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II },
8702 {"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II },
8703 {"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I },
8704 {"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II },
8705 {"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII },
8706 {"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I },
8707 {"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II },
8708 {"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 },
8709 {"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II },
8710 {"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 },
8711 {"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII },
8712 {"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII },
8713 {"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I },
8714 {"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II },
8715 {"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 },
8716 {"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II },
8717 {"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 },
8718 {"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II },
8719 {"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 },
8720 {"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II },
8721 {"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 },
8722 {"glGetTexGenfv", "(II[FI)V", (void *) android_glGetTexGenfv__II_3FI },
8723 {"glGetTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 },
8724 {"glGetTexGeniv", "(II[II)V", (void *) android_glGetTexGeniv__II_3II },
8725 {"glGetTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGeniv__IILjava_nio_IntBuffer_2 },
8726 {"glGetTexGenxv", "(II[II)V", (void *) android_glGetTexGenxv__II_3II },
8727 {"glGetTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxv__IILjava_nio_IntBuffer_2 },
8728 {"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I },
8729 {"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I },
8730 {"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII },
8731 {"glTexGenf", "(IIF)V", (void *) android_glTexGenf__IIF },
8732 {"glTexGenfv", "(II[FI)V", (void *) android_glTexGenfv__II_3FI },
8733 {"glTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfv__IILjava_nio_FloatBuffer_2 },
8734 {"glTexGeni", "(III)V", (void *) android_glTexGeni__III },
8735 {"glTexGeniv", "(II[II)V", (void *) android_glTexGeniv__II_3II },
8736 {"glTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGeniv__IILjava_nio_IntBuffer_2 },
8737 {"glTexGenx", "(III)V", (void *) android_glTexGenx__III },
8738 {"glTexGenxv", "(II[II)V", (void *) android_glTexGenxv__II_3II },
8739 {"glTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxv__IILjava_nio_IntBuffer_2 },
8740 };
8741
register_com_google_android_gles_jni_GLImpl(JNIEnv * _env)8742 int register_com_google_android_gles_jni_GLImpl(JNIEnv *_env)
8743 {
8744 int err;
8745 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
8746 return err;
8747 }
8748