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