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