1 /*
2 * Copyright 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 // This source file is automatically generated
18
19 #pragma GCC diagnostic ignored "-Wunused-variable"
20 #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
21 #pragma GCC diagnostic ignored "-Wunused-function"
22
23 #include <GLES3/gl31.h>
24 #include <GLES2/gl2ext.h>
25
26 #include <jni.h>
27 #include <nativehelper/JNIPlatformHelp.h>
28 #include <android_runtime/AndroidRuntime.h>
29 #include <utils/misc.h>
30 #include <assert.h>
31
32
33 /* special calls implemented in Android's GLES wrapper used to more
34 * efficiently bound-check passed arrays */
35 extern "C" {
36 #ifdef GL_VERSION_ES_CM_1_1
37 GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride,
38 const GLvoid *ptr, GLsizei count);
39 GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride,
40 const GLvoid *pointer, GLsizei count);
41 GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type,
42 GLsizei stride, const GLvoid *pointer, GLsizei count);
43 GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type,
44 GLsizei stride, const GLvoid *pointer, GLsizei count);
45 GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type,
46 GLsizei stride, const GLvoid *pointer, GLsizei count);
47 GL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type,
48 GLsizei stride, const GLvoid *pointer, GLsizei count);
49 GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type,
50 GLsizei stride, const GLvoid *pointer, GLsizei count);
51 #endif
52 #ifdef GL_ES_VERSION_2_0
glVertexAttribPointerBounds(GLuint indx,GLint size,GLenum type,GLboolean normalized,GLsizei stride,const GLvoid * pointer,GLsizei count)53 static void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type,
54 GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) {
55 glVertexAttribPointer(indx, size, type, normalized, stride, pointer);
56 }
57 #endif
58 #ifdef GL_ES_VERSION_3_0
glVertexAttribIPointerBounds(GLuint indx,GLint size,GLenum type,GLsizei stride,const GLvoid * pointer,GLsizei count)59 static void glVertexAttribIPointerBounds(GLuint indx, GLint size, GLenum type,
60 GLsizei stride, const GLvoid *pointer, GLsizei count) {
61 glVertexAttribIPointer(indx, size, type, stride, pointer);
62 }
63 #endif
64 }
65
66 static void
nativeClassInit(JNIEnv * _env,jclass glImplClass)67 nativeClassInit(JNIEnv *_env, jclass glImplClass)
68 {
69 }
70
71 static void *
getPointer(JNIEnv * _env,jobject buffer,jarray * array,jint * remaining,jint * offset)72 getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset)
73 {
74 jint position;
75 jint limit;
76 jint elementSizeShift;
77 jlong pointer;
78
79 pointer = jniGetNioBufferFields(_env, buffer, &position, &limit, &elementSizeShift);
80 *remaining = (limit - position) << elementSizeShift;
81 if (pointer != 0L) {
82 *array = nullptr;
83 pointer += position << elementSizeShift;
84 return reinterpret_cast<void*>(pointer);
85 }
86
87 *array = jniGetNioBufferBaseArray(_env, buffer);
88 *offset = jniGetNioBufferBaseArrayOffset(_env, buffer);
89 return nullptr;
90 }
91
92 class ByteArrayGetter {
93 public:
Get(JNIEnv * _env,jbyteArray array,jboolean * is_copy)94 static void* Get(JNIEnv* _env, jbyteArray array, jboolean* is_copy) {
95 return _env->GetByteArrayElements(array, is_copy);
96 }
97 };
98 class BooleanArrayGetter {
99 public:
Get(JNIEnv * _env,jbooleanArray array,jboolean * is_copy)100 static void* Get(JNIEnv* _env, jbooleanArray array, jboolean* is_copy) {
101 return _env->GetBooleanArrayElements(array, is_copy);
102 }
103 };
104 class CharArrayGetter {
105 public:
Get(JNIEnv * _env,jcharArray array,jboolean * is_copy)106 static void* Get(JNIEnv* _env, jcharArray array, jboolean* is_copy) {
107 return _env->GetCharArrayElements(array, is_copy);
108 }
109 };
110 class ShortArrayGetter {
111 public:
Get(JNIEnv * _env,jshortArray array,jboolean * is_copy)112 static void* Get(JNIEnv* _env, jshortArray array, jboolean* is_copy) {
113 return _env->GetShortArrayElements(array, is_copy);
114 }
115 };
116 class IntArrayGetter {
117 public:
Get(JNIEnv * _env,jintArray array,jboolean * is_copy)118 static void* Get(JNIEnv* _env, jintArray array, jboolean* is_copy) {
119 return _env->GetIntArrayElements(array, is_copy);
120 }
121 };
122 class LongArrayGetter {
123 public:
Get(JNIEnv * _env,jlongArray array,jboolean * is_copy)124 static void* Get(JNIEnv* _env, jlongArray array, jboolean* is_copy) {
125 return _env->GetLongArrayElements(array, is_copy);
126 }
127 };
128 class FloatArrayGetter {
129 public:
Get(JNIEnv * _env,jfloatArray array,jboolean * is_copy)130 static void* Get(JNIEnv* _env, jfloatArray array, jboolean* is_copy) {
131 return _env->GetFloatArrayElements(array, is_copy);
132 }
133 };
134 class DoubleArrayGetter {
135 public:
Get(JNIEnv * _env,jdoubleArray array,jboolean * is_copy)136 static void* Get(JNIEnv* _env, jdoubleArray array, jboolean* is_copy) {
137 return _env->GetDoubleArrayElements(array, is_copy);
138 }
139 };
140
141 template<typename JTYPEARRAY, typename ARRAYGETTER>
142 static void*
getArrayPointer(JNIEnv * _env,JTYPEARRAY array,jboolean * is_copy)143 getArrayPointer(JNIEnv *_env, JTYPEARRAY array, jboolean* is_copy) {
144 return ARRAYGETTER::Get(_env, array, is_copy);
145 }
146
147 class ByteArrayReleaser {
148 public:
Release(JNIEnv * _env,jbyteArray array,jbyte * data,jboolean commit)149 static void Release(JNIEnv* _env, jbyteArray array, jbyte* data, jboolean commit) {
150 _env->ReleaseByteArrayElements(array, data, commit ? 0 : JNI_ABORT);
151 }
152 };
153 class BooleanArrayReleaser {
154 public:
Release(JNIEnv * _env,jbooleanArray array,jboolean * data,jboolean commit)155 static void Release(JNIEnv* _env, jbooleanArray array, jboolean* data, jboolean commit) {
156 _env->ReleaseBooleanArrayElements(array, data, commit ? 0 : JNI_ABORT);
157 }
158 };
159 class CharArrayReleaser {
160 public:
Release(JNIEnv * _env,jcharArray array,jchar * data,jboolean commit)161 static void Release(JNIEnv* _env, jcharArray array, jchar* data, jboolean commit) {
162 _env->ReleaseCharArrayElements(array, data, commit ? 0 : JNI_ABORT);
163 }
164 };
165 class ShortArrayReleaser {
166 public:
Release(JNIEnv * _env,jshortArray array,jshort * data,jboolean commit)167 static void Release(JNIEnv* _env, jshortArray array, jshort* data, jboolean commit) {
168 _env->ReleaseShortArrayElements(array, data, commit ? 0 : JNI_ABORT);
169 }
170 };
171 class IntArrayReleaser {
172 public:
Release(JNIEnv * _env,jintArray array,jint * data,jboolean commit)173 static void Release(JNIEnv* _env, jintArray array, jint* data, jboolean commit) {
174 _env->ReleaseIntArrayElements(array, data, commit ? 0 : JNI_ABORT);
175 }
176 };
177 class LongArrayReleaser {
178 public:
Release(JNIEnv * _env,jlongArray array,jlong * data,jboolean commit)179 static void Release(JNIEnv* _env, jlongArray array, jlong* data, jboolean commit) {
180 _env->ReleaseLongArrayElements(array, data, commit ? 0 : JNI_ABORT);
181 }
182 };
183 class FloatArrayReleaser {
184 public:
Release(JNIEnv * _env,jfloatArray array,jfloat * data,jboolean commit)185 static void Release(JNIEnv* _env, jfloatArray array, jfloat* data, jboolean commit) {
186 _env->ReleaseFloatArrayElements(array, data, commit ? 0 : JNI_ABORT);
187 }
188 };
189 class DoubleArrayReleaser {
190 public:
Release(JNIEnv * _env,jdoubleArray array,jdouble * data,jboolean commit)191 static void Release(JNIEnv* _env, jdoubleArray array, jdouble* data, jboolean commit) {
192 _env->ReleaseDoubleArrayElements(array, data, commit ? 0 : JNI_ABORT);
193 }
194 };
195
196 template<typename JTYPEARRAY, typename NTYPEARRAY, typename ARRAYRELEASER>
197 static void
releaseArrayPointer(JNIEnv * _env,JTYPEARRAY array,NTYPEARRAY data,jboolean commit)198 releaseArrayPointer(JNIEnv *_env, JTYPEARRAY array, NTYPEARRAY data, jboolean commit) {
199 ARRAYRELEASER::Release(_env, array, data, commit);
200 }
201
202 static void
releasePointer(JNIEnv * _env,jarray array,void * data,jboolean commit)203 releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
204 {
205 _env->ReleasePrimitiveArrayCritical(array, data,
206 commit ? 0 : JNI_ABORT);
207 }
208
209 static void *
getDirectBufferPointer(JNIEnv * _env,jobject buffer)210 getDirectBufferPointer(JNIEnv *_env, jobject buffer) {
211 jint position;
212 jint limit;
213 jint elementSizeShift;
214 jlong pointer;
215 pointer = jniGetNioBufferFields(_env, buffer, &position, &limit, &elementSizeShift);
216 if (pointer == 0) {
217 jniThrowException(_env, "java/lang/IllegalArgumentException",
218 "Must use a native order direct Buffer");
219 return nullptr;
220 }
221 pointer += position << elementSizeShift;
222 return reinterpret_cast<void*>(pointer);
223 }
224
225 // --------------------------------------------------------------------------
226
227 /*
228 * returns the number of values glGet returns for a given pname.
229 *
230 * The code below is written such that pnames requiring only one values
231 * are the default (and are not explicitely tested for). This makes the
232 * checking code much shorter/readable/efficient.
233 *
234 * This means that unknown pnames (e.g.: extensions) will default to 1. If
235 * that unknown pname needs more than 1 value, then the validation check
236 * is incomplete and the app may crash if it passed the wrong number params.
237 */
getNeededCount(GLint pname)238 static int getNeededCount(GLint pname) {
239 int needed = 1;
240 #ifdef GL_ES_VERSION_3_0
241 // GLES 3.x pnames
242 switch (pname) {
243 case GL_MAX_VIEWPORT_DIMS:
244 needed = 2;
245 break;
246
247 case GL_PROGRAM_BINARY_FORMATS:
248 glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &needed);
249 break;
250 }
251 #endif
252
253 #ifdef GL_ES_VERSION_2_0
254 // GLES 2.x pnames
255 switch (pname) {
256 case GL_ALIASED_LINE_WIDTH_RANGE:
257 case GL_ALIASED_POINT_SIZE_RANGE:
258 needed = 2;
259 break;
260
261 case GL_BLEND_COLOR:
262 case GL_COLOR_CLEAR_VALUE:
263 case GL_COLOR_WRITEMASK:
264 case GL_SCISSOR_BOX:
265 case GL_VIEWPORT:
266 needed = 4;
267 break;
268
269 case GL_COMPRESSED_TEXTURE_FORMATS:
270 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed);
271 break;
272
273 case GL_SHADER_BINARY_FORMATS:
274 glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &needed);
275 break;
276 }
277 #endif
278
279 #ifdef GL_VERSION_ES_CM_1_1
280 // GLES 1.x pnames
281 switch (pname) {
282 case GL_ALIASED_LINE_WIDTH_RANGE:
283 case GL_ALIASED_POINT_SIZE_RANGE:
284 case GL_DEPTH_RANGE:
285 case GL_SMOOTH_LINE_WIDTH_RANGE:
286 case GL_SMOOTH_POINT_SIZE_RANGE:
287 needed = 2;
288 break;
289
290 case GL_CURRENT_NORMAL:
291 case GL_POINT_DISTANCE_ATTENUATION:
292 needed = 3;
293 break;
294
295 case GL_COLOR_CLEAR_VALUE:
296 case GL_COLOR_WRITEMASK:
297 case GL_CURRENT_COLOR:
298 case GL_CURRENT_TEXTURE_COORDS:
299 case GL_FOG_COLOR:
300 case GL_LIGHT_MODEL_AMBIENT:
301 case GL_SCISSOR_BOX:
302 case GL_VIEWPORT:
303 needed = 4;
304 break;
305
306 case GL_MODELVIEW_MATRIX:
307 case GL_PROJECTION_MATRIX:
308 case GL_TEXTURE_MATRIX:
309 needed = 16;
310 break;
311
312 case GL_COMPRESSED_TEXTURE_FORMATS:
313 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed);
314 break;
315 }
316 #endif
317 return needed;
318 }
319
320 template <typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY,
321 typename ARRAYRELEASER, typename CTYPE, void GET(GLenum, CTYPE*)>
322 static void
get(JNIEnv * _env,jobject _this,jint pname,JTYPEARRAY params_ref,jint offset)323 get
324 (JNIEnv *_env, jobject _this, jint pname, JTYPEARRAY params_ref, jint offset) {
325 jint _exception = 0;
326 const char * _exceptionType;
327 const char * _exceptionMessage;
328 CTYPE *params_base = (CTYPE *) 0;
329 jint _remaining;
330 CTYPE *params = (CTYPE *) 0;
331 int _needed = 0;
332
333 if (!params_ref) {
334 _exception = 1;
335 _exceptionType = "java/lang/IllegalArgumentException";
336 _exceptionMessage = "params == null";
337 goto exit;
338 }
339 if (offset < 0) {
340 _exception = 1;
341 _exceptionType = "java/lang/IllegalArgumentException";
342 _exceptionMessage = "offset < 0";
343 goto exit;
344 }
345 _remaining = _env->GetArrayLength(params_ref) - offset;
346 _needed = getNeededCount(pname);
347 // if we didn't find this pname, we just assume the user passed
348 // an array of the right size -- this might happen with extensions
349 // or if we forget an enum here.
350 if (_remaining < _needed) {
351 _exception = 1;
352 _exceptionType = "java/lang/IllegalArgumentException";
353 _exceptionMessage = "length - offset < needed";
354 goto exit;
355 }
356 params_base = (CTYPE *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>(
357 _env, params_ref, (jboolean *)0);
358 params = params_base + offset;
359
360 GET(
361 (GLenum)pname,
362 (CTYPE *)params
363 );
364
365 exit:
366 if (params_base) {
367 releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>(
368 _env, params_ref, params_base, !_exception);
369 }
370 if (_exception) {
371 jniThrowException(_env, _exceptionType, _exceptionMessage);
372 }
373 }
374
375
376 template <typename CTYPE, typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY,
377 typename ARRAYRELEASER, void GET(GLenum, CTYPE*)>
378 static void
getarray(JNIEnv * _env,jobject _this,jint pname,jobject params_buf)379 getarray
380 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
381 jint _exception = 0;
382 const char * _exceptionType;
383 const char * _exceptionMessage;
384 JTYPEARRAY _array = (JTYPEARRAY) 0;
385 jint _bufferOffset = (jint) 0;
386 jint _remaining;
387 CTYPE *params = (CTYPE *) 0;
388 int _needed = 0;
389
390 params = (CTYPE *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
391 _remaining /= sizeof(CTYPE); // convert from bytes to item count
392 _needed = getNeededCount(pname);
393 // if we didn't find this pname, we just assume the user passed
394 // an array of the right size -- this might happen with extensions
395 // or if we forget an enum here.
396 if (_needed>0 && _remaining < _needed) {
397 _exception = 1;
398 _exceptionType = "java/lang/IllegalArgumentException";
399 _exceptionMessage = "remaining() < needed";
400 goto exit;
401 }
402 if (params == NULL) {
403 char * _paramsBase = (char *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>(
404 _env, _array, (jboolean *) 0);
405 params = (CTYPE *) (_paramsBase + _bufferOffset);
406 }
407 GET(
408 (GLenum)pname,
409 (CTYPE *)params
410 );
411
412 exit:
413 if (_array) {
414 releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>(
415 _env, _array, (NTYPEARRAY)params, _exception ? JNI_FALSE : JNI_TRUE);
416 }
417 if (_exception) {
418 jniThrowException(_env, _exceptionType, _exceptionMessage);
419 }
420 }
421
422 // --------------------------------------------------------------------------
423 /* void glBlendBarrierKHR ( void ) */
424 static void
android_glBlendBarrierKHR__(JNIEnv * _env,jobject _this)425 android_glBlendBarrierKHR__
426 (JNIEnv *_env, jobject _this) {
427 glBlendBarrierKHR();
428 }
429
430 /* void glDebugMessageControlKHR ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) */
431 static void
android_glDebugMessageControlKHR__IIII_3IIZ(JNIEnv * _env,jobject _this,jint source,jint type,jint severity,jint count,jintArray ids_ref,jint offset,jboolean enabled)432 android_glDebugMessageControlKHR__IIII_3IIZ
433 (JNIEnv *_env, jobject _this, jint source, jint type, jint severity, jint count, jintArray ids_ref, jint offset, jboolean enabled) {
434 jint _exception = 0;
435 const char * _exceptionType = NULL;
436 const char * _exceptionMessage = NULL;
437 GLuint *ids_base = (GLuint *) 0;
438 jint _remaining;
439 GLuint *ids = (GLuint *) 0;
440
441 if (!ids_ref) {
442 _exception = 1;
443 _exceptionType = "java/lang/IllegalArgumentException";
444 _exceptionMessage = "ids == null";
445 goto exit;
446 }
447 if (offset < 0) {
448 _exception = 1;
449 _exceptionType = "java/lang/IllegalArgumentException";
450 _exceptionMessage = "offset < 0";
451 goto exit;
452 }
453 _remaining = _env->GetArrayLength(ids_ref) - offset;
454 ids_base = (GLuint *)
455 _env->GetIntArrayElements(ids_ref, (jboolean *)0);
456 ids = ids_base + offset;
457
458 glDebugMessageControlKHR(
459 (GLenum)source,
460 (GLenum)type,
461 (GLenum)severity,
462 (GLsizei)count,
463 (GLuint *)ids,
464 (GLboolean)enabled
465 );
466
467 exit:
468 if (ids_base) {
469 _env->ReleaseIntArrayElements(ids_ref, (jint*)ids_base,
470 JNI_ABORT);
471 }
472 if (_exception) {
473 jniThrowException(_env, _exceptionType, _exceptionMessage);
474 }
475 }
476
477 /* void glDebugMessageControlKHR ( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) */
478 static void
android_glDebugMessageControlKHR__IIIILjava_nio_IntBuffer_2Z(JNIEnv * _env,jobject _this,jint source,jint type,jint severity,jint count,jobject ids_buf,jboolean enabled)479 android_glDebugMessageControlKHR__IIIILjava_nio_IntBuffer_2Z
480 (JNIEnv *_env, jobject _this, jint source, jint type, jint severity, jint count, jobject ids_buf, jboolean enabled) {
481 jint _exception = 0;
482 const char * _exceptionType = NULL;
483 const char * _exceptionMessage = NULL;
484 jintArray _array = (jintArray) 0;
485 jint _bufferOffset = (jint) 0;
486 jint _remaining;
487 GLuint *ids = (GLuint *) 0;
488
489 if (!ids_buf) {
490 _exception = 1;
491 _exceptionType = "java/lang/IllegalArgumentException";
492 _exceptionMessage = "ids == null";
493 goto exit;
494 }
495 ids = (GLuint *)getPointer(_env, ids_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
496 if (ids == NULL) {
497 char * _idsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
498 ids = (GLuint *) (_idsBase + _bufferOffset);
499 }
500 glDebugMessageControlKHR(
501 (GLenum)source,
502 (GLenum)type,
503 (GLenum)severity,
504 (GLsizei)count,
505 (GLuint *)ids,
506 (GLboolean)enabled
507 );
508
509 exit:
510 if (_array) {
511 _env->ReleaseIntArrayElements(_array, (jint*)ids, JNI_ABORT);
512 }
513 if (_exception) {
514 jniThrowException(_env, _exceptionType, _exceptionMessage);
515 }
516 }
517
518 /* void glDebugMessageInsertKHR ( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf ) */
519 static void
android_glDebugMessageInsertKHR__IIIILjava_lang_String_2(JNIEnv * _env,jobject _this,jint source,jint type,jint id,jint severity,jstring buf)520 android_glDebugMessageInsertKHR__IIIILjava_lang_String_2
521 (JNIEnv *_env, jobject _this, jint source, jint type, jint id, jint severity, jstring buf) {
522 jint _exception = 0;
523 const char * _exceptionType = NULL;
524 const char * _exceptionMessage = NULL;
525 const char* _nativebuf = 0;
526 jint _length = 0;
527
528 if (!buf) {
529 _exception = 1;
530 _exceptionType = "java/lang/IllegalArgumentException";
531 _exceptionMessage = "buf == null";
532 goto exit;
533 }
534 _nativebuf = _env->GetStringUTFChars(buf, 0);
535 _length = _env->GetStringUTFLength(buf);
536
537 glDebugMessageInsertKHR(
538 (GLenum)source,
539 (GLenum)type,
540 (GLuint)id,
541 (GLenum)severity,
542 (GLsizei)_length,
543 (GLchar *)_nativebuf
544 );
545
546 exit:
547 if (_nativebuf) {
548 _env->ReleaseStringUTFChars(buf, _nativebuf);
549 }
550
551 if (_exception) {
552 jniThrowException(_env, _exceptionType, _exceptionMessage);
553 }
554 }
555
556 /* void glDebugMessageCallbackKHR ( GLDEBUGPROCKHR callback, const void *userParam ) */
557 static void
android_glDebugMessageCallbackKHR(JNIEnv * _env,jobject _this,jobject callback)558 android_glDebugMessageCallbackKHR(JNIEnv *_env, jobject _this, jobject callback) {
559 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
560 }
561 /* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
562 static jint
android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI(JNIEnv * _env,jobject _this,jint count,jint bufSize,jintArray sources_ref,jint sourcesOffset,jintArray types_ref,jint typesOffset,jintArray ids_ref,jint idsOffset,jintArray severities_ref,jint severitiesOffset,jintArray lengths_ref,jint lengthsOffset,jbyteArray messageLog_ref,jint messageLogOffset)563 android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI
564 (JNIEnv *_env, jobject _this, jint count, jint bufSize, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset, jintArray lengths_ref, jint lengthsOffset, jbyteArray messageLog_ref, jint messageLogOffset) {
565 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
566 return 0;
567 }
568
569 /* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
570 static uint
android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2(JNIEnv * _env,jobject _this,jint count,jobject sources_ref,jobject types_ref,jobject ids_ref,jobject severities_ref,jobject lengths_ref,jobject messageLog_ref)571 android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2
572 (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref, jobject lengths_ref, jobject messageLog_ref) {
573 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
574 return 0;
575 }
576
577 /* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
578 static jobjectArray
android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II(JNIEnv * _env,jobject _this,jint count,jintArray sources_ref,jint sourcesOffset,jintArray types_ref,jint typesOffset,jintArray ids_ref,jint idsOffset,jintArray severities_ref,jint severitiesOffset)579 android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II
580 (JNIEnv *_env, jobject _this, jint count, jintArray sources_ref, jint sourcesOffset, jintArray types_ref, jint typesOffset, jintArray ids_ref, jint idsOffset, jintArray severities_ref, jint severitiesOffset) {
581 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
582 return 0;
583 }
584
585 /* GLuint glGetDebugMessageLogKHR ( GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog ) */
586 static jobjectArray
android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint count,jobject sources_ref,jobject types_ref,jobject ids_ref,jobject severities_ref)587 android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2
588 (JNIEnv *_env, jobject _this, jint count, jobject sources_ref, jobject types_ref, jobject ids_ref, jobject severities_ref) {
589 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
590 return 0;
591 }
592 /* void glPushDebugGroupKHR ( GLenum source, GLuint id, GLsizei length, const GLchar *message ) */
593 static void
android_glPushDebugGroupKHR__IIILjava_lang_String_2(JNIEnv * _env,jobject _this,jint source,jint id,jint length,jstring message)594 android_glPushDebugGroupKHR__IIILjava_lang_String_2
595 (JNIEnv *_env, jobject _this, jint source, jint id, jint length, jstring message) {
596 jint _exception = 0;
597 const char * _exceptionType = NULL;
598 const char * _exceptionMessage = NULL;
599 const char* _nativemessage = 0;
600
601 if (!message) {
602 _exception = 1;
603 _exceptionType = "java/lang/IllegalArgumentException";
604 _exceptionMessage = "message == null";
605 goto exit;
606 }
607 _nativemessage = _env->GetStringUTFChars(message, 0);
608
609 glPushDebugGroupKHR(
610 (GLenum)source,
611 (GLuint)id,
612 (GLsizei)length,
613 (GLchar *)_nativemessage
614 );
615
616 exit:
617 if (_nativemessage) {
618 _env->ReleaseStringUTFChars(message, _nativemessage);
619 }
620
621 if (_exception) {
622 jniThrowException(_env, _exceptionType, _exceptionMessage);
623 }
624 }
625
626 /* void glPopDebugGroupKHR ( void ) */
627 static void
android_glPopDebugGroupKHR__(JNIEnv * _env,jobject _this)628 android_glPopDebugGroupKHR__
629 (JNIEnv *_env, jobject _this) {
630 glPopDebugGroupKHR();
631 }
632
633 /* void glObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei length, const GLchar *label ) */
634 static void
android_glObjectLabelKHR__IIILjava_lang_String_2(JNIEnv * _env,jobject _this,jint identifier,jint name,jint length,jstring label)635 android_glObjectLabelKHR__IIILjava_lang_String_2
636 (JNIEnv *_env, jobject _this, jint identifier, jint name, jint length, jstring label) {
637 jint _exception = 0;
638 const char * _exceptionType = NULL;
639 const char * _exceptionMessage = NULL;
640 const char* _nativelabel = 0;
641
642 if (label) {
643 _nativelabel = _env->GetStringUTFChars(label, 0);
644 }
645
646 glObjectLabelKHR(
647 (GLenum)identifier,
648 (GLuint)name,
649 (GLsizei)length,
650 (GLchar *)_nativelabel
651 );
652 if (_nativelabel) {
653 _env->ReleaseStringUTFChars(label, _nativelabel);
654 }
655
656 if (_exception) {
657 jniThrowException(_env, _exceptionType, _exceptionMessage);
658 }
659 }
660
661 /* void glGetObjectLabelKHR ( GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label ) */
662 static jstring
android_glGetObjectLabelKHR(JNIEnv * _env,jobject _this,jint identifier,jint name)663 android_glGetObjectLabelKHR(JNIEnv *_env, jobject _this, jint identifier, jint name) {
664 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
665 return NULL;
666 }
667
668 /* void glObjectPtrLabelKHR ( const void *ptr, GLsizei length, const GLchar *label ) */
669 static void
android_glObjectPtrLabelKHR(JNIEnv * _env,jobject _this,jlong ptr,jstring label)670 android_glObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr, jstring label) {
671 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
672 }
673
674 /* void glGetObjectPtrLabelKHR ( const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label ) */
675 static jstring
android_glGetObjectPtrLabelKHR(JNIEnv * _env,jobject _this,jlong ptr)676 android_glGetObjectPtrLabelKHR(JNIEnv *_env, jobject _this, jlong ptr) {
677 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
678 return NULL;
679 }
680
681 /* void glGetPointervKHR ( GLenum pname, void **params ) */
682 static jobject
android_glGetDebugMessageCallbackKHR(JNIEnv * _env,jobject _this)683 android_glGetDebugMessageCallbackKHR(JNIEnv *_env, jobject _this) {
684 jniThrowException(_env, "java/lang/UnsupportedOperationException", "not yet implemented");
685 return NULL;
686 }
687
688 /* void glMinSampleShadingOES ( GLfloat value ) */
689 static void
android_glMinSampleShadingOES__F(JNIEnv * _env,jobject _this,jfloat value)690 android_glMinSampleShadingOES__F
691 (JNIEnv *_env, jobject _this, jfloat value) {
692 glMinSampleShadingOES(
693 (GLfloat)value
694 );
695 }
696
697 /* void glTexStorage3DMultisampleOES ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations ) */
698 static void
android_glTexStorage3DMultisampleOES__IIIIIIZ(JNIEnv * _env,jobject _this,jint target,jint samples,jint internalformat,jint width,jint height,jint depth,jboolean fixedsamplelocations)699 android_glTexStorage3DMultisampleOES__IIIIIIZ
700 (JNIEnv *_env, jobject _this, jint target, jint samples, jint internalformat, jint width, jint height, jint depth, jboolean fixedsamplelocations) {
701 glTexStorage3DMultisampleOES(
702 (GLenum)target,
703 (GLsizei)samples,
704 (GLenum)internalformat,
705 (GLsizei)width,
706 (GLsizei)height,
707 (GLsizei)depth,
708 (GLboolean)fixedsamplelocations
709 );
710 }
711
712 /* void glCopyImageSubDataEXT ( GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth ) */
713 static void
android_glCopyImageSubDataEXT__IIIIIIIIIIIIIII(JNIEnv * _env,jobject _this,jint srcName,jint srcTarget,jint srcLevel,jint srcX,jint srcY,jint srcZ,jint dstName,jint dstTarget,jint dstLevel,jint dstX,jint dstY,jint dstZ,jint srcWidth,jint srcHeight,jint srcDepth)714 android_glCopyImageSubDataEXT__IIIIIIIIIIIIIII
715 (JNIEnv *_env, jobject _this, jint srcName, jint srcTarget, jint srcLevel, jint srcX, jint srcY, jint srcZ, jint dstName, jint dstTarget, jint dstLevel, jint dstX, jint dstY, jint dstZ, jint srcWidth, jint srcHeight, jint srcDepth) {
716 glCopyImageSubDataEXT(
717 (GLuint)srcName,
718 (GLenum)srcTarget,
719 (GLint)srcLevel,
720 (GLint)srcX,
721 (GLint)srcY,
722 (GLint)srcZ,
723 (GLuint)dstName,
724 (GLenum)dstTarget,
725 (GLint)dstLevel,
726 (GLint)dstX,
727 (GLint)dstY,
728 (GLint)dstZ,
729 (GLsizei)srcWidth,
730 (GLsizei)srcHeight,
731 (GLsizei)srcDepth
732 );
733 }
734
735 /* void glEnableiEXT ( GLenum target, GLuint index ) */
736 static void
android_glEnableiEXT__II(JNIEnv * _env,jobject _this,jint target,jint index)737 android_glEnableiEXT__II
738 (JNIEnv *_env, jobject _this, jint target, jint index) {
739 glEnableiEXT(
740 (GLenum)target,
741 (GLuint)index
742 );
743 }
744
745 /* void glDisableiEXT ( GLenum target, GLuint index ) */
746 static void
android_glDisableiEXT__II(JNIEnv * _env,jobject _this,jint target,jint index)747 android_glDisableiEXT__II
748 (JNIEnv *_env, jobject _this, jint target, jint index) {
749 glDisableiEXT(
750 (GLenum)target,
751 (GLuint)index
752 );
753 }
754
755 /* void glBlendEquationiEXT ( GLuint buf, GLenum mode ) */
756 static void
android_glBlendEquationiEXT__II(JNIEnv * _env,jobject _this,jint buf,jint mode)757 android_glBlendEquationiEXT__II
758 (JNIEnv *_env, jobject _this, jint buf, jint mode) {
759 glBlendEquationiEXT(
760 (GLuint)buf,
761 (GLenum)mode
762 );
763 }
764
765 /* void glBlendEquationSeparateiEXT ( GLuint buf, GLenum modeRGB, GLenum modeAlpha ) */
766 static void
android_glBlendEquationSeparateiEXT__III(JNIEnv * _env,jobject _this,jint buf,jint modeRGB,jint modeAlpha)767 android_glBlendEquationSeparateiEXT__III
768 (JNIEnv *_env, jobject _this, jint buf, jint modeRGB, jint modeAlpha) {
769 glBlendEquationSeparateiEXT(
770 (GLuint)buf,
771 (GLenum)modeRGB,
772 (GLenum)modeAlpha
773 );
774 }
775
776 /* void glBlendFunciEXT ( GLuint buf, GLenum src, GLenum dst ) */
777 static void
android_glBlendFunciEXT__III(JNIEnv * _env,jobject _this,jint buf,jint src,jint dst)778 android_glBlendFunciEXT__III
779 (JNIEnv *_env, jobject _this, jint buf, jint src, jint dst) {
780 glBlendFunciEXT(
781 (GLuint)buf,
782 (GLenum)src,
783 (GLenum)dst
784 );
785 }
786
787 /* void glBlendFuncSeparateiEXT ( GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */
788 static void
android_glBlendFuncSeparateiEXT__IIIII(JNIEnv * _env,jobject _this,jint buf,jint srcRGB,jint dstRGB,jint srcAlpha,jint dstAlpha)789 android_glBlendFuncSeparateiEXT__IIIII
790 (JNIEnv *_env, jobject _this, jint buf, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
791 glBlendFuncSeparateiEXT(
792 (GLuint)buf,
793 (GLenum)srcRGB,
794 (GLenum)dstRGB,
795 (GLenum)srcAlpha,
796 (GLenum)dstAlpha
797 );
798 }
799
800 /* void glColorMaskiEXT ( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a ) */
801 static void
android_glColorMaskiEXT__IZZZZ(JNIEnv * _env,jobject _this,jint index,jboolean r,jboolean g,jboolean b,jboolean a)802 android_glColorMaskiEXT__IZZZZ
803 (JNIEnv *_env, jobject _this, jint index, jboolean r, jboolean g, jboolean b, jboolean a) {
804 glColorMaskiEXT(
805 (GLuint)index,
806 (GLboolean)r,
807 (GLboolean)g,
808 (GLboolean)b,
809 (GLboolean)a
810 );
811 }
812
813 /* GLboolean glIsEnablediEXT ( GLenum target, GLuint index ) */
814 static jboolean
android_glIsEnablediEXT__II(JNIEnv * _env,jobject _this,jint target,jint index)815 android_glIsEnablediEXT__II
816 (JNIEnv *_env, jobject _this, jint target, jint index) {
817 GLboolean _returnValue;
818 _returnValue = glIsEnablediEXT(
819 (GLenum)target,
820 (GLuint)index
821 );
822 return (jboolean)_returnValue;
823 }
824
825 /* void glFramebufferTextureEXT ( GLenum target, GLenum attachment, GLuint texture, GLint level ) */
826 static void
android_glFramebufferTextureEXT__IIII(JNIEnv * _env,jobject _this,jint target,jint attachment,jint texture,jint level)827 android_glFramebufferTextureEXT__IIII
828 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint texture, jint level) {
829 glFramebufferTextureEXT(
830 (GLenum)target,
831 (GLenum)attachment,
832 (GLuint)texture,
833 (GLint)level
834 );
835 }
836
837 /* void glPrimitiveBoundingBoxEXT ( GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW ) */
838 static void
android_glPrimitiveBoundingBoxEXT__FFFFFFFF(JNIEnv * _env,jobject _this,jfloat minX,jfloat minY,jfloat minZ,jfloat minW,jfloat maxX,jfloat maxY,jfloat maxZ,jfloat maxW)839 android_glPrimitiveBoundingBoxEXT__FFFFFFFF
840 (JNIEnv *_env, jobject _this, jfloat minX, jfloat minY, jfloat minZ, jfloat minW, jfloat maxX, jfloat maxY, jfloat maxZ, jfloat maxW) {
841 glPrimitiveBoundingBoxEXT(
842 (GLfloat)minX,
843 (GLfloat)minY,
844 (GLfloat)minZ,
845 (GLfloat)minW,
846 (GLfloat)maxX,
847 (GLfloat)maxY,
848 (GLfloat)maxZ,
849 (GLfloat)maxW
850 );
851 }
852
853 /* void glPatchParameteriEXT ( GLenum pname, GLint value ) */
854 static void
android_glPatchParameteriEXT__II(JNIEnv * _env,jobject _this,jint pname,jint value)855 android_glPatchParameteriEXT__II
856 (JNIEnv *_env, jobject _this, jint pname, jint value) {
857 glPatchParameteriEXT(
858 (GLenum)pname,
859 (GLint)value
860 );
861 }
862
863 /* void glTexParameterIivEXT ( GLenum target, GLenum pname, const GLint *params ) */
864 static void
android_glTexParameterIivEXT__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)865 android_glTexParameterIivEXT__II_3II
866 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
867 jint _exception = 0;
868 const char * _exceptionType = NULL;
869 const char * _exceptionMessage = NULL;
870 GLint *params_base = (GLint *) 0;
871 jint _remaining;
872 GLint *params = (GLint *) 0;
873
874 if (!params_ref) {
875 _exception = 1;
876 _exceptionType = "java/lang/IllegalArgumentException";
877 _exceptionMessage = "params == null";
878 goto exit;
879 }
880 if (offset < 0) {
881 _exception = 1;
882 _exceptionType = "java/lang/IllegalArgumentException";
883 _exceptionMessage = "offset < 0";
884 goto exit;
885 }
886 _remaining = _env->GetArrayLength(params_ref) - offset;
887 params_base = (GLint *)
888 _env->GetIntArrayElements(params_ref, (jboolean *)0);
889 params = params_base + offset;
890
891 glTexParameterIivEXT(
892 (GLenum)target,
893 (GLenum)pname,
894 (GLint *)params
895 );
896
897 exit:
898 if (params_base) {
899 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
900 JNI_ABORT);
901 }
902 if (_exception) {
903 jniThrowException(_env, _exceptionType, _exceptionMessage);
904 }
905 }
906
907 /* void glTexParameterIivEXT ( GLenum target, GLenum pname, const GLint *params ) */
908 static void
android_glTexParameterIivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)909 android_glTexParameterIivEXT__IILjava_nio_IntBuffer_2
910 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
911 jint _exception = 0;
912 const char * _exceptionType = NULL;
913 const char * _exceptionMessage = NULL;
914 jintArray _array = (jintArray) 0;
915 jint _bufferOffset = (jint) 0;
916 jint _remaining;
917 GLint *params = (GLint *) 0;
918
919 if (!params_buf) {
920 _exception = 1;
921 _exceptionType = "java/lang/IllegalArgumentException";
922 _exceptionMessage = "params == null";
923 goto exit;
924 }
925 params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
926 if (params == NULL) {
927 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
928 params = (GLint *) (_paramsBase + _bufferOffset);
929 }
930 glTexParameterIivEXT(
931 (GLenum)target,
932 (GLenum)pname,
933 (GLint *)params
934 );
935
936 exit:
937 if (_array) {
938 _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT);
939 }
940 if (_exception) {
941 jniThrowException(_env, _exceptionType, _exceptionMessage);
942 }
943 }
944
945 /* void glTexParameterIuivEXT ( GLenum target, GLenum pname, const GLuint *params ) */
946 static void
android_glTexParameterIuivEXT__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)947 android_glTexParameterIuivEXT__II_3II
948 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
949 jint _exception = 0;
950 const char * _exceptionType = NULL;
951 const char * _exceptionMessage = NULL;
952 GLuint *params_base = (GLuint *) 0;
953 jint _remaining;
954 GLuint *params = (GLuint *) 0;
955
956 if (!params_ref) {
957 _exception = 1;
958 _exceptionType = "java/lang/IllegalArgumentException";
959 _exceptionMessage = "params == null";
960 goto exit;
961 }
962 if (offset < 0) {
963 _exception = 1;
964 _exceptionType = "java/lang/IllegalArgumentException";
965 _exceptionMessage = "offset < 0";
966 goto exit;
967 }
968 _remaining = _env->GetArrayLength(params_ref) - offset;
969 params_base = (GLuint *)
970 _env->GetIntArrayElements(params_ref, (jboolean *)0);
971 params = params_base + offset;
972
973 glTexParameterIuivEXT(
974 (GLenum)target,
975 (GLenum)pname,
976 (GLuint *)params
977 );
978
979 exit:
980 if (params_base) {
981 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
982 JNI_ABORT);
983 }
984 if (_exception) {
985 jniThrowException(_env, _exceptionType, _exceptionMessage);
986 }
987 }
988
989 /* void glTexParameterIuivEXT ( GLenum target, GLenum pname, const GLuint *params ) */
990 static void
android_glTexParameterIuivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)991 android_glTexParameterIuivEXT__IILjava_nio_IntBuffer_2
992 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
993 jint _exception = 0;
994 const char * _exceptionType = NULL;
995 const char * _exceptionMessage = NULL;
996 jintArray _array = (jintArray) 0;
997 jint _bufferOffset = (jint) 0;
998 jint _remaining;
999 GLuint *params = (GLuint *) 0;
1000
1001 if (!params_buf) {
1002 _exception = 1;
1003 _exceptionType = "java/lang/IllegalArgumentException";
1004 _exceptionMessage = "params == null";
1005 goto exit;
1006 }
1007 params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1008 if (params == NULL) {
1009 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1010 params = (GLuint *) (_paramsBase + _bufferOffset);
1011 }
1012 glTexParameterIuivEXT(
1013 (GLenum)target,
1014 (GLenum)pname,
1015 (GLuint *)params
1016 );
1017
1018 exit:
1019 if (_array) {
1020 _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT);
1021 }
1022 if (_exception) {
1023 jniThrowException(_env, _exceptionType, _exceptionMessage);
1024 }
1025 }
1026
1027 /* void glGetTexParameterIivEXT ( GLenum target, GLenum pname, GLint *params ) */
1028 static void
android_glGetTexParameterIivEXT__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)1029 android_glGetTexParameterIivEXT__II_3II
1030 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1031 jint _exception = 0;
1032 const char * _exceptionType = NULL;
1033 const char * _exceptionMessage = NULL;
1034 GLint *params_base = (GLint *) 0;
1035 jint _remaining;
1036 GLint *params = (GLint *) 0;
1037
1038 if (!params_ref) {
1039 _exception = 1;
1040 _exceptionType = "java/lang/IllegalArgumentException";
1041 _exceptionMessage = "params == null";
1042 goto exit;
1043 }
1044 if (offset < 0) {
1045 _exception = 1;
1046 _exceptionType = "java/lang/IllegalArgumentException";
1047 _exceptionMessage = "offset < 0";
1048 goto exit;
1049 }
1050 _remaining = _env->GetArrayLength(params_ref) - offset;
1051 params_base = (GLint *)
1052 _env->GetIntArrayElements(params_ref, (jboolean *)0);
1053 params = params_base + offset;
1054
1055 glGetTexParameterIivEXT(
1056 (GLenum)target,
1057 (GLenum)pname,
1058 (GLint *)params
1059 );
1060
1061 exit:
1062 if (params_base) {
1063 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
1064 _exception ? JNI_ABORT: 0);
1065 }
1066 if (_exception) {
1067 jniThrowException(_env, _exceptionType, _exceptionMessage);
1068 }
1069 }
1070
1071 /* void glGetTexParameterIivEXT ( GLenum target, GLenum pname, GLint *params ) */
1072 static void
android_glGetTexParameterIivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)1073 android_glGetTexParameterIivEXT__IILjava_nio_IntBuffer_2
1074 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1075 jint _exception = 0;
1076 const char * _exceptionType = NULL;
1077 const char * _exceptionMessage = NULL;
1078 jintArray _array = (jintArray) 0;
1079 jint _bufferOffset = (jint) 0;
1080 jint _remaining;
1081 GLint *params = (GLint *) 0;
1082
1083 if (!params_buf) {
1084 _exception = 1;
1085 _exceptionType = "java/lang/IllegalArgumentException";
1086 _exceptionMessage = "params == null";
1087 goto exit;
1088 }
1089 params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1090 if (params == NULL) {
1091 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1092 params = (GLint *) (_paramsBase + _bufferOffset);
1093 }
1094 glGetTexParameterIivEXT(
1095 (GLenum)target,
1096 (GLenum)pname,
1097 (GLint *)params
1098 );
1099
1100 exit:
1101 if (_array) {
1102 _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0);
1103 }
1104 if (_exception) {
1105 jniThrowException(_env, _exceptionType, _exceptionMessage);
1106 }
1107 }
1108
1109 /* void glGetTexParameterIuivEXT ( GLenum target, GLenum pname, GLuint *params ) */
1110 static void
android_glGetTexParameterIuivEXT__II_3II(JNIEnv * _env,jobject _this,jint target,jint pname,jintArray params_ref,jint offset)1111 android_glGetTexParameterIuivEXT__II_3II
1112 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1113 jint _exception = 0;
1114 const char * _exceptionType = NULL;
1115 const char * _exceptionMessage = NULL;
1116 GLuint *params_base = (GLuint *) 0;
1117 jint _remaining;
1118 GLuint *params = (GLuint *) 0;
1119
1120 if (!params_ref) {
1121 _exception = 1;
1122 _exceptionType = "java/lang/IllegalArgumentException";
1123 _exceptionMessage = "params == null";
1124 goto exit;
1125 }
1126 if (offset < 0) {
1127 _exception = 1;
1128 _exceptionType = "java/lang/IllegalArgumentException";
1129 _exceptionMessage = "offset < 0";
1130 goto exit;
1131 }
1132 _remaining = _env->GetArrayLength(params_ref) - offset;
1133 params_base = (GLuint *)
1134 _env->GetIntArrayElements(params_ref, (jboolean *)0);
1135 params = params_base + offset;
1136
1137 glGetTexParameterIuivEXT(
1138 (GLenum)target,
1139 (GLenum)pname,
1140 (GLuint *)params
1141 );
1142
1143 exit:
1144 if (params_base) {
1145 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
1146 _exception ? JNI_ABORT: 0);
1147 }
1148 if (_exception) {
1149 jniThrowException(_env, _exceptionType, _exceptionMessage);
1150 }
1151 }
1152
1153 /* void glGetTexParameterIuivEXT ( GLenum target, GLenum pname, GLuint *params ) */
1154 static void
android_glGetTexParameterIuivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint target,jint pname,jobject params_buf)1155 android_glGetTexParameterIuivEXT__IILjava_nio_IntBuffer_2
1156 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1157 jint _exception = 0;
1158 const char * _exceptionType = NULL;
1159 const char * _exceptionMessage = NULL;
1160 jintArray _array = (jintArray) 0;
1161 jint _bufferOffset = (jint) 0;
1162 jint _remaining;
1163 GLuint *params = (GLuint *) 0;
1164
1165 if (!params_buf) {
1166 _exception = 1;
1167 _exceptionType = "java/lang/IllegalArgumentException";
1168 _exceptionMessage = "params == null";
1169 goto exit;
1170 }
1171 params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1172 if (params == NULL) {
1173 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1174 params = (GLuint *) (_paramsBase + _bufferOffset);
1175 }
1176 glGetTexParameterIuivEXT(
1177 (GLenum)target,
1178 (GLenum)pname,
1179 (GLuint *)params
1180 );
1181
1182 exit:
1183 if (_array) {
1184 _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0);
1185 }
1186 if (_exception) {
1187 jniThrowException(_env, _exceptionType, _exceptionMessage);
1188 }
1189 }
1190
1191 /* void glSamplerParameterIivEXT ( GLuint sampler, GLenum pname, const GLint *param ) */
1192 static void
android_glSamplerParameterIivEXT__II_3II(JNIEnv * _env,jobject _this,jint sampler,jint pname,jintArray param_ref,jint offset)1193 android_glSamplerParameterIivEXT__II_3II
1194 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray param_ref, jint offset) {
1195 jint _exception = 0;
1196 const char * _exceptionType = NULL;
1197 const char * _exceptionMessage = NULL;
1198 GLint *param_base = (GLint *) 0;
1199 jint _remaining;
1200 GLint *param = (GLint *) 0;
1201
1202 if (!param_ref) {
1203 _exception = 1;
1204 _exceptionType = "java/lang/IllegalArgumentException";
1205 _exceptionMessage = "param == null";
1206 goto exit;
1207 }
1208 if (offset < 0) {
1209 _exception = 1;
1210 _exceptionType = "java/lang/IllegalArgumentException";
1211 _exceptionMessage = "offset < 0";
1212 goto exit;
1213 }
1214 _remaining = _env->GetArrayLength(param_ref) - offset;
1215 param_base = (GLint *)
1216 _env->GetIntArrayElements(param_ref, (jboolean *)0);
1217 param = param_base + offset;
1218
1219 glSamplerParameterIivEXT(
1220 (GLuint)sampler,
1221 (GLenum)pname,
1222 (GLint *)param
1223 );
1224
1225 exit:
1226 if (param_base) {
1227 _env->ReleaseIntArrayElements(param_ref, (jint*)param_base,
1228 JNI_ABORT);
1229 }
1230 if (_exception) {
1231 jniThrowException(_env, _exceptionType, _exceptionMessage);
1232 }
1233 }
1234
1235 /* void glSamplerParameterIivEXT ( GLuint sampler, GLenum pname, const GLint *param ) */
1236 static void
android_glSamplerParameterIivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint sampler,jint pname,jobject param_buf)1237 android_glSamplerParameterIivEXT__IILjava_nio_IntBuffer_2
1238 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject param_buf) {
1239 jint _exception = 0;
1240 const char * _exceptionType = NULL;
1241 const char * _exceptionMessage = NULL;
1242 jintArray _array = (jintArray) 0;
1243 jint _bufferOffset = (jint) 0;
1244 jint _remaining;
1245 GLint *param = (GLint *) 0;
1246
1247 if (!param_buf) {
1248 _exception = 1;
1249 _exceptionType = "java/lang/IllegalArgumentException";
1250 _exceptionMessage = "param == null";
1251 goto exit;
1252 }
1253 param = (GLint *)getPointer(_env, param_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1254 if (param == NULL) {
1255 char * _paramBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1256 param = (GLint *) (_paramBase + _bufferOffset);
1257 }
1258 glSamplerParameterIivEXT(
1259 (GLuint)sampler,
1260 (GLenum)pname,
1261 (GLint *)param
1262 );
1263
1264 exit:
1265 if (_array) {
1266 _env->ReleaseIntArrayElements(_array, (jint*)param, JNI_ABORT);
1267 }
1268 if (_exception) {
1269 jniThrowException(_env, _exceptionType, _exceptionMessage);
1270 }
1271 }
1272
1273 /* void glSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, const GLuint *param ) */
1274 static void
android_glSamplerParameterIuivEXT__II_3II(JNIEnv * _env,jobject _this,jint sampler,jint pname,jintArray param_ref,jint offset)1275 android_glSamplerParameterIuivEXT__II_3II
1276 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray param_ref, jint offset) {
1277 jint _exception = 0;
1278 const char * _exceptionType = NULL;
1279 const char * _exceptionMessage = NULL;
1280 GLuint *param_base = (GLuint *) 0;
1281 jint _remaining;
1282 GLuint *param = (GLuint *) 0;
1283
1284 if (!param_ref) {
1285 _exception = 1;
1286 _exceptionType = "java/lang/IllegalArgumentException";
1287 _exceptionMessage = "param == null";
1288 goto exit;
1289 }
1290 if (offset < 0) {
1291 _exception = 1;
1292 _exceptionType = "java/lang/IllegalArgumentException";
1293 _exceptionMessage = "offset < 0";
1294 goto exit;
1295 }
1296 _remaining = _env->GetArrayLength(param_ref) - offset;
1297 param_base = (GLuint *)
1298 _env->GetIntArrayElements(param_ref, (jboolean *)0);
1299 param = param_base + offset;
1300
1301 glSamplerParameterIuivEXT(
1302 (GLuint)sampler,
1303 (GLenum)pname,
1304 (GLuint *)param
1305 );
1306
1307 exit:
1308 if (param_base) {
1309 _env->ReleaseIntArrayElements(param_ref, (jint*)param_base,
1310 JNI_ABORT);
1311 }
1312 if (_exception) {
1313 jniThrowException(_env, _exceptionType, _exceptionMessage);
1314 }
1315 }
1316
1317 /* void glSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, const GLuint *param ) */
1318 static void
android_glSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint sampler,jint pname,jobject param_buf)1319 android_glSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2
1320 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject param_buf) {
1321 jint _exception = 0;
1322 const char * _exceptionType = NULL;
1323 const char * _exceptionMessage = NULL;
1324 jintArray _array = (jintArray) 0;
1325 jint _bufferOffset = (jint) 0;
1326 jint _remaining;
1327 GLuint *param = (GLuint *) 0;
1328
1329 if (!param_buf) {
1330 _exception = 1;
1331 _exceptionType = "java/lang/IllegalArgumentException";
1332 _exceptionMessage = "param == null";
1333 goto exit;
1334 }
1335 param = (GLuint *)getPointer(_env, param_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1336 if (param == NULL) {
1337 char * _paramBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1338 param = (GLuint *) (_paramBase + _bufferOffset);
1339 }
1340 glSamplerParameterIuivEXT(
1341 (GLuint)sampler,
1342 (GLenum)pname,
1343 (GLuint *)param
1344 );
1345
1346 exit:
1347 if (_array) {
1348 _env->ReleaseIntArrayElements(_array, (jint*)param, JNI_ABORT);
1349 }
1350 if (_exception) {
1351 jniThrowException(_env, _exceptionType, _exceptionMessage);
1352 }
1353 }
1354
1355 /* void glGetSamplerParameterIivEXT ( GLuint sampler, GLenum pname, GLint *params ) */
1356 static void
android_glGetSamplerParameterIivEXT__II_3II(JNIEnv * _env,jobject _this,jint sampler,jint pname,jintArray params_ref,jint offset)1357 android_glGetSamplerParameterIivEXT__II_3II
1358 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray params_ref, jint offset) {
1359 jint _exception = 0;
1360 const char * _exceptionType = NULL;
1361 const char * _exceptionMessage = NULL;
1362 GLint *params_base = (GLint *) 0;
1363 jint _remaining;
1364 GLint *params = (GLint *) 0;
1365
1366 if (!params_ref) {
1367 _exception = 1;
1368 _exceptionType = "java/lang/IllegalArgumentException";
1369 _exceptionMessage = "params == null";
1370 goto exit;
1371 }
1372 if (offset < 0) {
1373 _exception = 1;
1374 _exceptionType = "java/lang/IllegalArgumentException";
1375 _exceptionMessage = "offset < 0";
1376 goto exit;
1377 }
1378 _remaining = _env->GetArrayLength(params_ref) - offset;
1379 params_base = (GLint *)
1380 _env->GetIntArrayElements(params_ref, (jboolean *)0);
1381 params = params_base + offset;
1382
1383 glGetSamplerParameterIivEXT(
1384 (GLuint)sampler,
1385 (GLenum)pname,
1386 (GLint *)params
1387 );
1388
1389 exit:
1390 if (params_base) {
1391 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
1392 _exception ? JNI_ABORT: 0);
1393 }
1394 if (_exception) {
1395 jniThrowException(_env, _exceptionType, _exceptionMessage);
1396 }
1397 }
1398
1399 /* void glGetSamplerParameterIivEXT ( GLuint sampler, GLenum pname, GLint *params ) */
1400 static void
android_glGetSamplerParameterIivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint sampler,jint pname,jobject params_buf)1401 android_glGetSamplerParameterIivEXT__IILjava_nio_IntBuffer_2
1402 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject params_buf) {
1403 jint _exception = 0;
1404 const char * _exceptionType = NULL;
1405 const char * _exceptionMessage = NULL;
1406 jintArray _array = (jintArray) 0;
1407 jint _bufferOffset = (jint) 0;
1408 jint _remaining;
1409 GLint *params = (GLint *) 0;
1410
1411 if (!params_buf) {
1412 _exception = 1;
1413 _exceptionType = "java/lang/IllegalArgumentException";
1414 _exceptionMessage = "params == null";
1415 goto exit;
1416 }
1417 params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1418 if (params == NULL) {
1419 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1420 params = (GLint *) (_paramsBase + _bufferOffset);
1421 }
1422 glGetSamplerParameterIivEXT(
1423 (GLuint)sampler,
1424 (GLenum)pname,
1425 (GLint *)params
1426 );
1427
1428 exit:
1429 if (_array) {
1430 _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0);
1431 }
1432 if (_exception) {
1433 jniThrowException(_env, _exceptionType, _exceptionMessage);
1434 }
1435 }
1436
1437 /* void glGetSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, GLuint *params ) */
1438 static void
android_glGetSamplerParameterIuivEXT__II_3II(JNIEnv * _env,jobject _this,jint sampler,jint pname,jintArray params_ref,jint offset)1439 android_glGetSamplerParameterIuivEXT__II_3II
1440 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jintArray params_ref, jint offset) {
1441 jint _exception = 0;
1442 const char * _exceptionType = NULL;
1443 const char * _exceptionMessage = NULL;
1444 GLuint *params_base = (GLuint *) 0;
1445 jint _remaining;
1446 GLuint *params = (GLuint *) 0;
1447
1448 if (!params_ref) {
1449 _exception = 1;
1450 _exceptionType = "java/lang/IllegalArgumentException";
1451 _exceptionMessage = "params == null";
1452 goto exit;
1453 }
1454 if (offset < 0) {
1455 _exception = 1;
1456 _exceptionType = "java/lang/IllegalArgumentException";
1457 _exceptionMessage = "offset < 0";
1458 goto exit;
1459 }
1460 _remaining = _env->GetArrayLength(params_ref) - offset;
1461 params_base = (GLuint *)
1462 _env->GetIntArrayElements(params_ref, (jboolean *)0);
1463 params = params_base + offset;
1464
1465 glGetSamplerParameterIuivEXT(
1466 (GLuint)sampler,
1467 (GLenum)pname,
1468 (GLuint *)params
1469 );
1470
1471 exit:
1472 if (params_base) {
1473 _env->ReleaseIntArrayElements(params_ref, (jint*)params_base,
1474 _exception ? JNI_ABORT: 0);
1475 }
1476 if (_exception) {
1477 jniThrowException(_env, _exceptionType, _exceptionMessage);
1478 }
1479 }
1480
1481 /* void glGetSamplerParameterIuivEXT ( GLuint sampler, GLenum pname, GLuint *params ) */
1482 static void
android_glGetSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2(JNIEnv * _env,jobject _this,jint sampler,jint pname,jobject params_buf)1483 android_glGetSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2
1484 (JNIEnv *_env, jobject _this, jint sampler, jint pname, jobject params_buf) {
1485 jint _exception = 0;
1486 const char * _exceptionType = NULL;
1487 const char * _exceptionMessage = NULL;
1488 jintArray _array = (jintArray) 0;
1489 jint _bufferOffset = (jint) 0;
1490 jint _remaining;
1491 GLuint *params = (GLuint *) 0;
1492
1493 if (!params_buf) {
1494 _exception = 1;
1495 _exceptionType = "java/lang/IllegalArgumentException";
1496 _exceptionMessage = "params == null";
1497 goto exit;
1498 }
1499 params = (GLuint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset);
1500 if (params == NULL) {
1501 char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0);
1502 params = (GLuint *) (_paramsBase + _bufferOffset);
1503 }
1504 glGetSamplerParameterIuivEXT(
1505 (GLuint)sampler,
1506 (GLenum)pname,
1507 (GLuint *)params
1508 );
1509
1510 exit:
1511 if (_array) {
1512 _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0);
1513 }
1514 if (_exception) {
1515 jniThrowException(_env, _exceptionType, _exceptionMessage);
1516 }
1517 }
1518
1519 /* void glTexBufferEXT ( GLenum target, GLenum internalformat, GLuint buffer ) */
1520 static void
android_glTexBufferEXT__III(JNIEnv * _env,jobject _this,jint target,jint internalformat,jint buffer)1521 android_glTexBufferEXT__III
1522 (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint buffer) {
1523 glTexBufferEXT(
1524 (GLenum)target,
1525 (GLenum)internalformat,
1526 (GLuint)buffer
1527 );
1528 }
1529
1530 /* void glTexBufferRangeEXT ( GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size ) */
1531 static void
android_glTexBufferRangeEXT__IIIII(JNIEnv * _env,jobject _this,jint target,jint internalformat,jint buffer,jint offset,jint size)1532 android_glTexBufferRangeEXT__IIIII
1533 (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint buffer, jint offset, jint size) {
1534 glTexBufferRangeEXT(
1535 (GLenum)target,
1536 (GLenum)internalformat,
1537 (GLuint)buffer,
1538 (GLintptr)offset,
1539 (GLsizeiptr)size
1540 );
1541 }
1542
1543 static const char *classPathName = "android/opengl/GLES31Ext";
1544
1545 static const JNINativeMethod methods[] = {
1546 {"_nativeClassInit", "()V", (void*)nativeClassInit },
1547 {"glBlendBarrierKHR", "()V", (void *) android_glBlendBarrierKHR__ },
1548 {"glDebugMessageControlKHR", "(IIII[IIZ)V", (void *) android_glDebugMessageControlKHR__IIII_3IIZ },
1549 {"glDebugMessageControlKHR", "(IIIILjava/nio/IntBuffer;Z)V", (void *) android_glDebugMessageControlKHR__IIIILjava_nio_IntBuffer_2Z },
1550 {"glDebugMessageInsertKHR", "(IIIILjava/lang/String;)V", (void *) android_glDebugMessageInsertKHR__IIIILjava_lang_String_2 },
1551 {"glDebugMessageCallbackKHR", "(Landroid/opengl/GLES31Ext$DebugProcKHR;)V", (void *) android_glDebugMessageCallbackKHR },
1552 {"glGetDebugMessageLogKHR", "(II[II[II[II[II[II[BI)I", (void *) android_glGetDebugMessageLogKHR__II_3II_3II_3II_3II_3II_3BI },
1553 {"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_ByteBuffer_2 },
1554 {"glGetDebugMessageLogKHR", "(I[II[II[II[II)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__I_3II_3II_3II_3II },
1555 {"glGetDebugMessageLogKHR", "(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;", (void *) android_glGetDebugMessageLogKHR__ILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 },
1556 {"glPushDebugGroupKHR", "(IIILjava/lang/String;)V", (void *) android_glPushDebugGroupKHR__IIILjava_lang_String_2 },
1557 {"glPopDebugGroupKHR", "()V", (void *) android_glPopDebugGroupKHR__ },
1558 {"glObjectLabelKHR", "(IIILjava/lang/String;)V", (void *) android_glObjectLabelKHR__IIILjava_lang_String_2 },
1559 {"glGetObjectLabelKHR", "(II)Ljava/lang/String;", (void *) android_glGetObjectLabelKHR },
1560 {"glObjectPtrLabelKHR", "(JLjava/lang/String;)V", (void *) android_glObjectPtrLabelKHR },
1561 {"glGetObjectPtrLabelKHR", "(J)Ljava/lang/String;", (void *) android_glGetObjectPtrLabelKHR },
1562 {"glGetDebugMessageCallbackKHR", "()Landroid/opengl/GLES31Ext$DebugProcKHR;", (void *) android_glGetDebugMessageCallbackKHR },
1563 {"glMinSampleShadingOES", "(F)V", (void *) android_glMinSampleShadingOES__F },
1564 {"glTexStorage3DMultisampleOES", "(IIIIIIZ)V", (void *) android_glTexStorage3DMultisampleOES__IIIIIIZ },
1565 {"glCopyImageSubDataEXT", "(IIIIIIIIIIIIIII)V", (void *) android_glCopyImageSubDataEXT__IIIIIIIIIIIIIII },
1566 {"glEnableiEXT", "(II)V", (void *) android_glEnableiEXT__II },
1567 {"glDisableiEXT", "(II)V", (void *) android_glDisableiEXT__II },
1568 {"glBlendEquationiEXT", "(II)V", (void *) android_glBlendEquationiEXT__II },
1569 {"glBlendEquationSeparateiEXT", "(III)V", (void *) android_glBlendEquationSeparateiEXT__III },
1570 {"glBlendFunciEXT", "(III)V", (void *) android_glBlendFunciEXT__III },
1571 {"glBlendFuncSeparateiEXT", "(IIIII)V", (void *) android_glBlendFuncSeparateiEXT__IIIII },
1572 {"glColorMaskiEXT", "(IZZZZ)V", (void *) android_glColorMaskiEXT__IZZZZ },
1573 {"glIsEnablediEXT", "(II)Z", (void *) android_glIsEnablediEXT__II },
1574 {"glFramebufferTextureEXT", "(IIII)V", (void *) android_glFramebufferTextureEXT__IIII },
1575 {"glPrimitiveBoundingBoxEXT", "(FFFFFFFF)V", (void *) android_glPrimitiveBoundingBoxEXT__FFFFFFFF },
1576 {"glPatchParameteriEXT", "(II)V", (void *) android_glPatchParameteriEXT__II },
1577 {"glTexParameterIivEXT", "(II[II)V", (void *) android_glTexParameterIivEXT__II_3II },
1578 {"glTexParameterIivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterIivEXT__IILjava_nio_IntBuffer_2 },
1579 {"glTexParameterIuivEXT", "(II[II)V", (void *) android_glTexParameterIuivEXT__II_3II },
1580 {"glTexParameterIuivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterIuivEXT__IILjava_nio_IntBuffer_2 },
1581 {"glGetTexParameterIivEXT", "(II[II)V", (void *) android_glGetTexParameterIivEXT__II_3II },
1582 {"glGetTexParameterIivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterIivEXT__IILjava_nio_IntBuffer_2 },
1583 {"glGetTexParameterIuivEXT", "(II[II)V", (void *) android_glGetTexParameterIuivEXT__II_3II },
1584 {"glGetTexParameterIuivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterIuivEXT__IILjava_nio_IntBuffer_2 },
1585 {"glSamplerParameterIivEXT", "(II[II)V", (void *) android_glSamplerParameterIivEXT__II_3II },
1586 {"glSamplerParameterIivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glSamplerParameterIivEXT__IILjava_nio_IntBuffer_2 },
1587 {"glSamplerParameterIuivEXT", "(II[II)V", (void *) android_glSamplerParameterIuivEXT__II_3II },
1588 {"glSamplerParameterIuivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2 },
1589 {"glGetSamplerParameterIivEXT", "(II[II)V", (void *) android_glGetSamplerParameterIivEXT__II_3II },
1590 {"glGetSamplerParameterIivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetSamplerParameterIivEXT__IILjava_nio_IntBuffer_2 },
1591 {"glGetSamplerParameterIuivEXT", "(II[II)V", (void *) android_glGetSamplerParameterIuivEXT__II_3II },
1592 {"glGetSamplerParameterIuivEXT", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetSamplerParameterIuivEXT__IILjava_nio_IntBuffer_2 },
1593 {"glTexBufferEXT", "(III)V", (void *) android_glTexBufferEXT__III },
1594 {"glTexBufferRangeEXT", "(IIIII)V", (void *) android_glTexBufferRangeEXT__IIIII },
1595 };
1596
register_android_opengl_jni_GLES31Ext(JNIEnv * _env)1597 int register_android_opengl_jni_GLES31Ext(JNIEnv *_env)
1598 {
1599 int err;
1600 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
1601 return err;
1602 }
1603