1 #ifdef __APPLE__
2 #include <TargetConditionals.h>
3
4 #if TARGET_OS_IPHONE
5 #include "iosgl30.h"
6 #include <OpenGLES/ES3/gl.h>
7 #include <OpenGLES/ES3/glext.h>
8 #include <stdio.h>
9
10 static jclass bufferClass;
11 static jclass byteBufferClass;
12 static jclass charBufferClass;
13 static jclass shortBufferClass;
14 static jclass intBufferClass;
15 static jclass longBufferClass;
16 static jclass floatBufferClass;
17 static jclass doubleBufferClass;
18 static jclass OOMEClass;
19 static jclass UOEClass;
20 static jclass IAEClass;
21
22 static jmethodID positionID;
23
24
25 static void
nativeClassInitBuffer(JNIEnv * _env)26 nativeClassInitBuffer(JNIEnv *_env)
27 {
28 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
29 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
30
31 byteBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/ByteBuffer"));
32 charBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/CharBuffer"));
33 shortBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/ShortBuffer"));
34 intBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/IntBuffer"));
35 longBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/LongBuffer"));
36 floatBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/FloatBuffer"));
37 doubleBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/DoubleBuffer"));
38
39 positionID = _env->GetMethodID(bufferClass, "position","()I");
40 if(positionID == 0) _env->ThrowNew(IAEClass, "Couldn't fetch position() method");
41 }
42
43 static void
nativeClassInit(JNIEnv * _env)44 nativeClassInit(JNIEnv *_env)
45 {
46 nativeClassInitBuffer(_env);
47
48 jclass IAEClassLocal =
49 _env->FindClass("java/lang/IllegalArgumentException");
50 jclass OOMEClassLocal =
51 _env->FindClass("java/lang/OutOfMemoryError");
52 jclass UOEClassLocal =
53 _env->FindClass("java/lang/UnsupportedOperationException");
54
55 IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal);
56 OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal);
57 UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal);
58 }
59
getElementSizeShift(JNIEnv * _env,jobject buffer)60 static jint getElementSizeShift(JNIEnv *_env, jobject buffer) {
61 if(_env->IsInstanceOf(buffer, byteBufferClass)) return 0;
62 if(_env->IsInstanceOf(buffer, floatBufferClass)) return 2;
63 if(_env->IsInstanceOf(buffer, shortBufferClass)) return 1;
64
65 if(_env->IsInstanceOf(buffer, charBufferClass)) return 1;
66 if(_env->IsInstanceOf(buffer, intBufferClass)) return 2;
67 if(_env->IsInstanceOf(buffer, longBufferClass)) return 3;
68 if(_env->IsInstanceOf(buffer, doubleBufferClass)) return 3;
69
70 _env->ThrowNew(IAEClass, "buffer type unkown! (Not a ByteBuffer, ShortBuffer, etc.)");
71 return 0;
72 }
73
getBufferPosition(JNIEnv * env,jobject buffer)74 inline jint getBufferPosition(JNIEnv *env, jobject buffer)
75 {
76 jint ret = env->CallIntMethodA(buffer, positionID, 0);
77 return ret;
78 }
79
80 static void *
getDirectBufferPointer(JNIEnv * _env,jobject buffer)81 getDirectBufferPointer(JNIEnv *_env, jobject buffer) {
82 if (!buffer) {
83 return NULL;
84 }
85 void* buf = _env->GetDirectBufferAddress(buffer);
86 if (buf) {
87 jint position = getBufferPosition(_env, buffer);
88 jint elementSizeShift = getElementSizeShift(_env, buffer);
89 buf = ((char*) buf) + (position << elementSizeShift);
90 } else {
91 _env->ThrowNew(IAEClass, "Must use a native order direct Buffer");
92 }
93 return buf;
94 }
95
getString(JNIEnv * env,jstring string)96 static const char* getString( JNIEnv *env, jstring string )
97 {
98 return (const char*)env->GetStringUTFChars(string, NULL);
99 }
100
releaseString(JNIEnv * env,jstring string,const char * cString)101 static void releaseString( JNIEnv *env, jstring string, const char* cString )
102 {
103 env->ReleaseStringUTFChars(string, cString);
104 }
105
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_init(JNIEnv * env,jclass)106 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_init
107 (JNIEnv *env, jclass)
108 {
109 nativeClassInit( env );
110 }
111
112 /*
113 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
114 * Method: glReadBuffer
115 * Signature: (I)V
116 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glReadBuffer(JNIEnv * env,jobject,jint mode)117 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glReadBuffer
118 (JNIEnv *env, jobject, jint mode) {
119 glReadBuffer(mode);
120 }
121
122 /*
123 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
124 * Method: glDrawRangeElements
125 * Signature: (IIIIILjava/nio/Buffer;)V
126 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawRangeElements__IIIIILjava_nio_Buffer_2(JNIEnv * env,jobject,jint mode,jint start,jint end,jint count,jint type,jobject indices)127 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawRangeElements__IIIIILjava_nio_Buffer_2
128 (JNIEnv *env, jobject, jint mode, jint start, jint end, jint count, jint type, jobject indices) {
129 void* dataPtr = getDirectBufferPointer( env, indices );
130 glDrawRangeElements(mode, start, end, count, type, dataPtr);
131 }
132
133 /*
134 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
135 * Method: glDrawRangeElements
136 * Signature: (IIIIII)V
137 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawRangeElements__IIIIII(JNIEnv * env,jobject,jint mode,jint start,jint end,jint count,jint type,jint offset)138 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawRangeElements__IIIIII
139 (JNIEnv *env, jobject, jint mode, jint start, jint end, jint count, jint type, jint offset) {
140 glDrawRangeElements(mode, start, end, count, type, (void*)offset);
141 }
142
143 /*
144 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
145 * Method: glTexImage3D
146 * Signature: (IIIIIIIIILjava/nio/Buffer;)V
147 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexImage3D__IIIIIIIIILjava_nio_Buffer_2(JNIEnv * env,jobject,jint target,jint level,jint internalformat,jint width,jint height,jint depth,jint border,jint format,jint type,jobject pixels)148 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexImage3D__IIIIIIIIILjava_nio_Buffer_2
149 (JNIEnv *env, jobject, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint format, jint type, jobject pixels) {
150 void* dataPtr = getDirectBufferPointer( env, pixels );
151 glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, dataPtr);
152 }
153
154 /*
155 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
156 * Method: glTexImage3D
157 * Signature: (IIIIIIIIII)V
158 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexImage3D__IIIIIIIIII(JNIEnv * env,jobject,jint target,jint level,jint internalformat,jint width,jint height,jint depth,jint border,jint format,jint type,jint offset)159 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexImage3D__IIIIIIIIII
160 (JNIEnv *env, jobject, jint target, jint level, jint internalformat, jint width, jint height, jint depth, jint border, jint format, jint type, jint offset) {
161 glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (void*)offset);
162 }
163
164 /*
165 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
166 * Method: glTexSubImage3D
167 * Signature: (IIIIIIIIIILjava/nio/Buffer;)V
168 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexSubImage3D__IIIIIIIIIILjava_nio_Buffer_2(JNIEnv * env,jobject,jint target,jint level,jint xoffset,jint yoffset,jint zoffset,jint width,jint height,jint depth,jint format,jint type,jobject pixels)169 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexSubImage3D__IIIIIIIIIILjava_nio_Buffer_2
170 (JNIEnv *env, jobject, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jobject pixels) {
171 void* dataPtr = getDirectBufferPointer( env, pixels );
172 glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, dataPtr);
173 }
174
175 /*
176 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
177 * Method: glTexSubImage3D
178 * Signature: (IIIIIIIIIII)V
179 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexSubImage3D__IIIIIIIIIII(JNIEnv * env,jobject,jint target,jint level,jint xoffset,jint yoffset,jint zoffset,jint width,jint height,jint depth,jint format,jint type,jint offset)180 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTexSubImage3D__IIIIIIIIIII
181 (JNIEnv *env, jobject, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint width, jint height, jint depth, jint format, jint type, jint offset) {
182 glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (void*)offset);
183 }
184
185 /*
186 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
187 * Method: glCopyTexSubImage3D
188 * Signature: (IIIIIIIII)V
189 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glCopyTexSubImage3D(JNIEnv * env,jobject,jint target,jint level,jint xoffset,jint yoffset,jint zoffset,jint x,jint y,jint width,jint height)190 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glCopyTexSubImage3D
191 (JNIEnv *env, jobject, jint target, jint level, jint xoffset, jint yoffset, jint zoffset, jint x, jint y, jint width, jint height) {
192 glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
193 }
194
195 /*
196 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
197 * Method: glGenQueries
198 * Signature: (I[II)V
199 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__I_3II(JNIEnv * env,jobject,jint n,jintArray ids,jint offset)200 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__I_3II
201 (JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
202 int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
203 glGenQueries(n, (GLuint*)&v[offset]);
204 env->ReleasePrimitiveArrayCritical(ids, v, 0);
205 }
206
207 /*
208 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
209 * Method: glGenQueries
210 * Signature: (ILjava/nio/IntBuffer;)V
211 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject ids)212 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__ILjava_nio_IntBuffer_2
213 (JNIEnv *env, jobject, jint n, jobject ids) {
214 void* dataPtr = getDirectBufferPointer( env, ids );
215 glGenQueries(n, (GLuint*)dataPtr);
216 }
217
218 /*
219 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
220 * Method: glDeleteQueries
221 * Signature: (I[II)V
222 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__I_3II(JNIEnv * env,jobject,jint n,jintArray ids,jint offset)223 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__I_3II
224 (JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
225 void* dataPtr = getDirectBufferPointer( env, ids );
226 glDeleteQueries(n, (GLuint*)dataPtr);
227 }
228
229 /*
230 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
231 * Method: glDeleteQueries
232 * Signature: (ILjava/nio/IntBuffer;)V
233 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject ids)234 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__ILjava_nio_IntBuffer_2
235 (JNIEnv *env, jobject, jint n, jobject ids) {
236 void* dataPtr = getDirectBufferPointer( env, ids );
237 glDeleteQueries(n, (GLuint*)dataPtr);
238 }
239
240 /*
241 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
242 * Method: glIsQuery
243 * Signature: (I)Z
244 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsQuery(JNIEnv * env,jobject,jint id)245 JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsQuery
246 (JNIEnv *env, jobject, jint id) {
247 return glIsQuery(id);
248 }
249
250 /*
251 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
252 * Method: glBeginQuery
253 * Signature: (II)V
254 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginQuery(JNIEnv * env,jobject,jint target,jint id)255 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginQuery
256 (JNIEnv *env, jobject, jint target, jint id) {
257 glBeginQuery(target, id);
258 }
259
260 /*
261 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
262 * Method: glEndQuery
263 * Signature: (I)V
264 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndQuery(JNIEnv * env,jobject,jint target)265 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndQuery
266 (JNIEnv *env, jobject, jint target) {
267 glEndQuery(target);
268 }
269
270 /*
271 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
272 * Method: glGetQueryiv
273 * Signature: (IILjava/nio/IntBuffer;)V
274 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryiv(JNIEnv * env,jobject,jint target,jint pname,jobject params)275 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryiv
276 (JNIEnv *env, jobject, jint target, jint pname, jobject params) {
277 void* dataPtr = getDirectBufferPointer( env, params );
278 glGetQueryiv(target, pname, (GLint*)dataPtr);
279 }
280
281 /*
282 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
283 * Method: glGetQueryObjectuiv
284 * Signature: (IILjava/nio/IntBuffer;)V
285 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryObjectuiv(JNIEnv * env,jobject,jint target,jint pname,jobject params)286 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryObjectuiv
287 (JNIEnv *env, jobject, jint target, jint pname, jobject params) {
288 void* dataPtr = getDirectBufferPointer( env, params );
289 glGetQueryObjectuiv(target, pname, (GLuint*)dataPtr);
290 }
291
292 /*
293 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
294 * Method: glUnmapBuffer
295 * Signature: (I)Z
296 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUnmapBuffer(JNIEnv * env,jobject,jint target)297 JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUnmapBuffer
298 (JNIEnv *env, jobject, jint target) {
299 return glUnmapBuffer(target);
300 }
301
302 /*
303 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
304 * Method: glGetBufferPointerv
305 * Signature: (II)Ljava/nio/Buffer;
306 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferPointerv(JNIEnv * env,jobject,jint target,jint pname)307 JNIEXPORT jobject JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferPointerv
308 (JNIEnv *env, jobject, jint target, jint pname) {
309 //FIXME glGetBufferPointerv (GLenum target, GLenum pname, void **params);
310 env->ThrowNew(IAEClass, "Unsupported method");
311 }
312
313 /*
314 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
315 * Method: glDrawBuffers
316 * Signature: (ILjava/nio/IntBuffer;)V
317 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawBuffers(JNIEnv * env,jobject,jint n,jobject bufs)318 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawBuffers
319 (JNIEnv *env, jobject, jint n, jobject bufs) {
320 void* dataPtr = getDirectBufferPointer( env, bufs );
321 glDrawBuffers(n, (GLenum*)dataPtr);
322 }
323
324 /*
325 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
326 * Method: glUniformMatrix2x3fv
327 * Signature: (IIZLjava/nio/FloatBuffer;)V
328 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x3fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)329 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x3fv
330 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
331 void* dataPtr = getDirectBufferPointer( env, value );
332 glUniformMatrix2x3fv(location, count, transpose, (GLfloat*)dataPtr);
333 }
334
335 /*
336 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
337 * Method: glUniformMatrix3x2fv
338 * Signature: (IIZLjava/nio/FloatBuffer;)V
339 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x2fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)340 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x2fv
341 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
342 void* dataPtr = getDirectBufferPointer( env, value );
343 glUniformMatrix3x2fv(location, count, transpose, (GLfloat*)dataPtr);
344 }
345
346 /*
347 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
348 * Method: glUniformMatrix2x4fv
349 * Signature: (IIZLjava/nio/FloatBuffer;)V
350 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x4fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)351 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x4fv
352 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
353 void* dataPtr = getDirectBufferPointer( env, value );
354 glUniformMatrix2x4fv(location, count, transpose, (GLfloat*)dataPtr);
355 }
356
357 /*
358 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
359 * Method: glUniformMatrix4x2fv
360 * Signature: (IIZLjava/nio/FloatBuffer;)V
361 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x2fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)362 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x2fv
363 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
364 void* dataPtr = getDirectBufferPointer( env, value );
365 glUniformMatrix4x2fv(location, count, transpose, (GLfloat*)dataPtr);
366 }
367
368 /*
369 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
370 * Method: glUniformMatrix3x4fv
371 * Signature: (IIZLjava/nio/FloatBuffer;)V
372 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x4fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)373 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x4fv
374 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
375 void* dataPtr = getDirectBufferPointer( env, value );
376 glUniformMatrix3x4fv(location, count, transpose, (GLfloat*)dataPtr);
377 }
378
379 /*
380 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
381 * Method: glUniformMatrix4x3fv
382 * Signature: (IIZLjava/nio/FloatBuffer;)V
383 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x3fv(JNIEnv * env,jobject,jint location,jint count,jboolean transpose,jobject value)384 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x3fv
385 (JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
386 void* dataPtr = getDirectBufferPointer( env, value );
387 glUniformMatrix4x3fv(location, count, transpose, (GLfloat*)dataPtr);
388 }
389
390 /*
391 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
392 * Method: glBlitFramebuffer
393 * Signature: (IIIIIIIIII)V
394 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBlitFramebuffer(JNIEnv * env,jobject,jint srcX0,jint srcY0,jint srcX1,jint srcY1,jint dstX0,jint dstY0,jint dstX1,jint dstY1,jint mask,jint filter)395 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBlitFramebuffer
396 (JNIEnv *env, jobject, jint srcX0, jint srcY0, jint srcX1, jint srcY1, jint dstX0, jint dstY0, jint dstX1, jint dstY1, jint mask, jint filter) {
397 glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
398 }
399
400 /*
401 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
402 * Method: glRenderbufferStorageMultisample
403 * Signature: (IIIII)V
404 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glRenderbufferStorageMultisample(JNIEnv * env,jobject,jint target,jint samples,jint internalformat,jint width,jint height)405 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glRenderbufferStorageMultisample
406 (JNIEnv *env, jobject, jint target, jint samples, jint internalformat, jint width, jint height) {
407 glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
408 }
409
410 /*
411 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
412 * Method: glFramebufferTextureLayer
413 * Signature: (IIIII)V
414 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFramebufferTextureLayer(JNIEnv * env,jobject,jint target,jint attachment,jint texture,jint level,jint layer)415 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFramebufferTextureLayer
416 (JNIEnv *env, jobject, jint target, jint attachment, jint texture, jint level, jint layer) {
417 glFramebufferTextureLayer(target, attachment, texture, level, layer);
418 }
419
420 /*
421 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
422 * Method: glFlushMappedBufferRange
423 * Signature: (III)V
424 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFlushMappedBufferRange(JNIEnv * env,jobject,jint target,jint offset,jint length)425 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFlushMappedBufferRange
426 (JNIEnv *env, jobject, jint target, jint offset, jint length) {
427 glFlushMappedBufferRange(target, offset, length);
428 }
429
430 /*
431 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
432 * Method: glBindVertexArray
433 * Signature: (I)V
434 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindVertexArray(JNIEnv * env,jobject,jint array)435 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindVertexArray
436 (JNIEnv *env, jobject, jint array) {
437 glBindVertexArray(array);
438 }
439
440 /*
441 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
442 * Method: glDeleteVertexArrays
443 * Signature: (I[II)V
444 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__I_3II(JNIEnv * env,jobject,jint n,jintArray arrays,jint offset)445 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__I_3II
446 (JNIEnv *env, jobject, jint n, jintArray arrays, jint offset) {
447 int* v = (int*)env->GetPrimitiveArrayCritical(arrays, 0);
448 glDeleteVertexArrays(n, (GLuint*)&v[offset]);
449 env->ReleasePrimitiveArrayCritical(arrays, v, 0);
450 }
451
452 /*
453 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
454 * Method: glDeleteVertexArrays
455 * Signature: (ILjava/nio/IntBuffer;)V
456 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject arrays)457 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__ILjava_nio_IntBuffer_2
458 (JNIEnv *env, jobject, jint n, jobject arrays) {
459 void* dataPtr = getDirectBufferPointer( env, arrays );
460 glDeleteVertexArrays(n, (GLuint*)dataPtr);
461 }
462
463 /*
464 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
465 * Method: glGenVertexArrays
466 * Signature: (I[II)V
467 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__I_3II(JNIEnv * env,jobject,jint n,jintArray arrays,jint offset)468 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__I_3II
469 (JNIEnv *env, jobject, jint n, jintArray arrays, jint offset) {
470 int* v = (int*)env->GetPrimitiveArrayCritical(arrays, 0);
471 glGenVertexArrays(n, (GLuint*)&v[offset]);
472 env->ReleasePrimitiveArrayCritical(arrays, v, 0);
473 }
474
475 /*
476 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
477 * Method: glGenVertexArrays
478 * Signature: (ILjava/nio/IntBuffer;)V
479 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject arrays)480 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__ILjava_nio_IntBuffer_2
481 (JNIEnv *env, jobject, jint n, jobject arrays) {
482 void* dataPtr = getDirectBufferPointer( env, arrays );
483 glGenVertexArrays(n, (GLuint*)dataPtr);
484 }
485
486 /*
487 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
488 * Method: glIsVertexArray
489 * Signature: (I)Z
490 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsVertexArray(JNIEnv * env,jobject,jint array)491 JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsVertexArray
492 (JNIEnv *env, jobject, jint array) {
493 return glIsVertexArray(array);
494 }
495
496 /*
497 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
498 * Method: glBeginTransformFeedback
499 * Signature: (I)V
500 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginTransformFeedback(JNIEnv * env,jobject,jint primitiveMode)501 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginTransformFeedback
502 (JNIEnv *env, jobject, jint primitiveMode) {
503 glBeginTransformFeedback(primitiveMode);
504 }
505
506 /*
507 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
508 * Method: glEndTransformFeedback
509 * Signature: ()V
510 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndTransformFeedback(JNIEnv * env,jobject)511 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndTransformFeedback
512 (JNIEnv *env, jobject) {
513 glEndTransformFeedback();
514 }
515
516 /*
517 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
518 * Method: glBindBufferRange
519 * Signature: (IIIII)V
520 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferRange(JNIEnv * env,jobject,jint target,jint index,jint buffer,jint offset,jint size)521 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferRange
522 (JNIEnv *env, jobject, jint target, jint index, jint buffer, jint offset, jint size) {
523 glBindBufferRange(target, index, buffer, offset, size);
524 }
525
526 /*
527 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
528 * Method: glBindBufferBase
529 * Signature: (III)V
530 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferBase(JNIEnv * env,jobject,jint target,jint index,jint buffer)531 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferBase
532 (JNIEnv *env, jobject, jint target, jint index, jint buffer) {
533 glBindBufferBase(target, index, buffer);
534 }
535
536 /*
537 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
538 * Method: glTransformFeedbackVaryings
539 * Signature: (I[Ljava/lang/String;I)V
540 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTransformFeedbackVaryings(JNIEnv * env,jobject,jint program,jobjectArray varyings,jint buffermode)541 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTransformFeedbackVaryings
542 (JNIEnv *env, jobject, jint program, jobjectArray varyings, jint buffermode) {
543 //FIXME: convert String[] to char**
544 env->ThrowNew(IAEClass, "Unsupported method");
545 }
546
547 /*
548 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
549 * Method: glVertexAttribIPointer
550 * Signature: (IIIII)V
551 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribIPointer(JNIEnv * env,jobject,jint index,jint size,jint type,jint stride,jint offset)552 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribIPointer
553 (JNIEnv *env, jobject, jint index, jint size, jint type, jint stride, jint offset) {
554 glVertexAttribIPointer(index, size, type, stride, (void*)offset);
555 }
556
557 /*
558 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
559 * Method: glGetVertexAttribIiv
560 * Signature: (IILjava/nio/IntBuffer;)V
561 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIiv(JNIEnv * env,jobject,jint index,jint pname,jobject params)562 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIiv
563 (JNIEnv *env, jobject, jint index, jint pname, jobject params) {
564 void* dataPtr = getDirectBufferPointer( env, params );
565 glGetVertexAttribIiv(index, pname, (GLint*)dataPtr);
566 }
567
568 /*
569 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
570 * Method: glGetVertexAttribIuiv
571 * Signature: (IILjava/nio/IntBuffer;)V
572 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIuiv(JNIEnv * env,jobject,jint index,jint pname,jobject params)573 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIuiv
574 (JNIEnv *env, jobject, jint index, jint pname, jobject params) {
575 void* dataPtr = getDirectBufferPointer( env, params );
576 glGetVertexAttribIuiv(index, pname, (GLuint*)dataPtr);
577 }
578
579 /*
580 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
581 * Method: glVertexAttribI4i
582 * Signature: (IIIII)V
583 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4i(JNIEnv * env,jobject,jint index,jint x,jint y,jint z,jint w)584 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4i
585 (JNIEnv *env, jobject, jint index, jint x, jint y, jint z, jint w) {
586 glVertexAttribI4i(index, x, y, z, w);
587 }
588
589 /*
590 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
591 * Method: glVertexAttribI4ui
592 * Signature: (IIIII)V
593 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4ui(JNIEnv * env,jobject,jint index,jint x,jint y,jint z,jint w)594 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4ui
595 (JNIEnv *env, jobject, jint index, jint x, jint y, jint z, jint w) {
596 glVertexAttribI4ui(index, x, y, z, w);
597 }
598
599 /*
600 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
601 * Method: glGetUniformuiv
602 * Signature: (IILjava/nio/IntBuffer;)V
603 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformuiv(JNIEnv * env,jobject,jint program,jint location,jobject params)604 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformuiv
605 (JNIEnv *env, jobject, jint program, jint location, jobject params) {
606 void* dataPtr = getDirectBufferPointer( env, params );
607 glGetUniformuiv(program, location, (GLuint*)dataPtr);
608 }
609
610 /*
611 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
612 * Method: glGetFragDataLocation
613 * Signature: (ILjava/lang/String;)I
614 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetFragDataLocation(JNIEnv * env,jobject,jint program,jstring name)615 JNIEXPORT jint JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetFragDataLocation
616 (JNIEnv *env, jobject, jint program, jstring name) {
617 const char* cname = getString( env, name );
618 int loc = glGetFragDataLocation(program, cname);
619 releaseString( env, name, cname );
620 }
621
622 /*
623 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
624 * Method: glUniform1uiv
625 * Signature: (IILjava/nio/IntBuffer;)V
626 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform1uiv(JNIEnv * env,jobject,jint location,jint count,jobject value)627 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform1uiv
628 (JNIEnv *env, jobject, jint location, jint count, jobject value) {
629 void* dataPtr = getDirectBufferPointer( env, value );
630 glUniform1uiv(location, count, (GLuint*)dataPtr);
631 }
632
633 /*
634 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
635 * Method: glUniform3uiv
636 * Signature: (IILjava/nio/IntBuffer;)V
637 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform3uiv(JNIEnv * env,jobject,jint location,jint count,jobject value)638 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform3uiv
639 (JNIEnv *env, jobject, jint location, jint count, jobject value) {
640 void* dataPtr = getDirectBufferPointer( env, value );
641 glUniform3uiv(location, count, (GLuint*)dataPtr);
642 }
643
644 /*
645 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
646 * Method: glUniform4uiv
647 * Signature: (IILjava/nio/IntBuffer;)V
648 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform4uiv(JNIEnv * env,jobject,jint location,jint count,jobject value)649 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform4uiv
650 (JNIEnv *env, jobject, jint location, jint count, jobject value) {
651 void* dataPtr = getDirectBufferPointer( env, value );
652 glUniform4uiv(location, count, (GLuint*)dataPtr);
653 }
654
655 /*
656 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
657 * Method: glClearBufferiv
658 * Signature: (IILjava/nio/IntBuffer;)V
659 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferiv(JNIEnv * env,jobject,jint buffer,jint drawbuffer,jobject value)660 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferiv
661 (JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
662 void* dataPtr = getDirectBufferPointer( env, value );
663 glClearBufferiv(buffer, drawbuffer, (GLint*)dataPtr);
664 }
665
666 /*
667 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
668 * Method: glClearBufferuiv
669 * Signature: (IILjava/nio/IntBuffer;)V
670 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferuiv(JNIEnv * env,jobject,jint buffer,jint drawbuffer,jobject value)671 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferuiv
672 (JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
673 void* dataPtr = getDirectBufferPointer( env, value );
674 glClearBufferuiv(buffer, drawbuffer, (GLuint*)dataPtr);
675 }
676
677 /*
678 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
679 * Method: glClearBufferfv
680 * Signature: (IILjava/nio/FloatBuffer;)V
681 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfv(JNIEnv * env,jobject,jint buffer,jint drawbuffer,jobject value)682 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfv
683 (JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
684 void* dataPtr = getDirectBufferPointer( env, value );
685 glClearBufferfv(buffer, drawbuffer, (GLfloat*)dataPtr);
686 }
687
688 /*
689 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
690 * Method: glClearBufferfi
691 * Signature: (IIFI)V
692 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfi(JNIEnv * env,jobject,jint buffer,jint drawbuffer,jfloat depth,jint stencil)693 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfi
694 (JNIEnv *env, jobject, jint buffer, jint drawbuffer, jfloat depth, jint stencil) {
695 glClearBufferfi(buffer, drawbuffer, depth, stencil);
696 }
697
698 /*
699 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
700 * Method: glGetStringi
701 * Signature: (II)Ljava/lang/String;
702 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetStringi(JNIEnv * env,jobject,jint name,jint index)703 JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetStringi
704 (JNIEnv *env, jobject, jint name, jint index) {
705 return env->NewStringUTF((const char *)glGetStringi(name, index));
706 }
707
708 /*
709 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
710 * Method: glCopyBufferSubData
711 * Signature: (IIIII)V
712 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glCopyBufferSubData(JNIEnv * env,jobject,jint readTarget,jint writeTarget,jint readOffset,jint writeOffset,jint size)713 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glCopyBufferSubData
714 (JNIEnv *env, jobject, jint readTarget, jint writeTarget, jint readOffset, jint writeOffset, jint size) {
715 glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
716 }
717
718 /*
719 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
720 * Method: glGetUniformIndices
721 * Signature: (I[Ljava/lang/String;Ljava/nio/IntBuffer;)V
722 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformIndices(JNIEnv * env,jobject,jint,jobjectArray,jobject)723 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformIndices
724 (JNIEnv *env, jobject, jint, jobjectArray, jobject) {
725 //FIXME: glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
726 env->ThrowNew(IAEClass, "Unsupported method");
727 }
728
729 /*
730 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
731 * Method: glGetActiveUniformsiv
732 * Signature: (IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;)V
733 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformsiv(JNIEnv * env,jobject,jint program,jint uniformCount,jobject indices,jint pname,jobject params)734 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformsiv
735 (JNIEnv *env, jobject, jint program, jint uniformCount, jobject indices, jint pname, jobject params) {
736 void* indicesPtr = getDirectBufferPointer( env, indices );
737 void* paramsPtr = getDirectBufferPointer( env, params );
738 glGetActiveUniformsiv(program, uniformCount, (GLuint*)indicesPtr, pname, (GLint*)paramsPtr);
739 }
740
741 /*
742 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
743 * Method: glGetUniformBlockIndex
744 * Signature: (ILjava/lang/String;)I
745 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformBlockIndex(JNIEnv * env,jobject,jint program,jstring uniformBlockName)746 JNIEXPORT jint JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformBlockIndex
747 (JNIEnv *env, jobject, jint program, jstring uniformBlockName) {
748 const char* cname = getString( env, uniformBlockName );
749 int loc = glGetUniformBlockIndex(program, cname);
750 releaseString( env, uniformBlockName, cname );
751 return loc;
752 }
753
754 /*
755 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
756 * Method: glGetActiveUniformBlockiv
757 * Signature: (IIILjava/nio/IntBuffer;)V
758 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockiv(JNIEnv * env,jobject,jint program,jint uniformBlockIndex,jint pname,jobject params)759 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockiv
760 (JNIEnv *env, jobject, jint program, jint uniformBlockIndex, jint pname, jobject params) {
761 void* dataPtr = getDirectBufferPointer( env, params );
762 glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, (GLint*)dataPtr);
763 }
764
765 /*
766 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
767 * Method: glGetActiveUniformBlockName
768 * Signature: (IILjava/nio/Buffer;Ljava/nio/Buffer;)V
769 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__IILjava_nio_Buffer_2Ljava_nio_Buffer_2(JNIEnv * env,jobject,jint,jint,jobject,jobject)770 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__IILjava_nio_Buffer_2Ljava_nio_Buffer_2
771 (JNIEnv *env, jobject, jint, jint, jobject, jobject) {
772 //FIXME: glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
773 env->ThrowNew(IAEClass, "Unsupported method");
774 }
775
776 /*
777 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
778 * Method: glGetActiveUniformBlockName
779 * Signature: (II)Ljava/lang/String;
780 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__II(JNIEnv * env,jobject,jint,jint)781 JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__II
782 (JNIEnv *env, jobject, jint, jint) {
783 //FIXME: glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
784 env->ThrowNew(IAEClass, "Unsupported method");
785 }
786
787 /*
788 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
789 * Method: glUniformBlockBinding
790 * Signature: (III)V
791 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformBlockBinding(JNIEnv * env,jobject,jint program,jint uniformBlockIndex,jint uniformBlockBinding)792 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformBlockBinding
793 (JNIEnv *env, jobject, jint program, jint uniformBlockIndex, jint uniformBlockBinding) {
794 glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
795 }
796
797 /*
798 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
799 * Method: glDrawArraysInstanced
800 * Signature: (IIII)V
801 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawArraysInstanced(JNIEnv * env,jobject,jint mode,jint first,jint count,jint instancecount)802 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawArraysInstanced
803 (JNIEnv *env, jobject, jint mode, jint first, jint count, jint instancecount) {
804 glDrawArraysInstanced(mode, first, count, instancecount);
805 }
806
807 /*
808 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
809 * Method: glDrawElementsInstanced
810 * Signature: (IIIII)V
811 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawElementsInstanced(JNIEnv * env,jobject,jint mode,jint count,jint type,jint indicesOffset,jint instancecount)812 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawElementsInstanced
813 (JNIEnv *env, jobject, jint mode, jint count, jint type, jint indicesOffset, jint instancecount) {
814 glDrawElementsInstanced(mode, count, type, (GLvoid*)indicesOffset, instancecount);
815 }
816
817 /*
818 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
819 * Method: glGetInteger64v
820 * Signature: (ILjava/nio/LongBuffer;)V
821 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetInteger64v(JNIEnv * env,jobject,jint pname,jobject data)822 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetInteger64v
823 (JNIEnv *env, jobject, jint pname, jobject data) {
824 void* dataPtr = getDirectBufferPointer( env, data );
825 glGetInteger64v(pname, (GLint64*)dataPtr);
826 }
827
828 /*
829 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
830 * Method: glGetBufferParameteri64v
831 * Signature: (IILjava/nio/LongBuffer;)V
832 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferParameteri64v(JNIEnv * env,jobject,jint target,jint pname,jobject params)833 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferParameteri64v
834 (JNIEnv *env, jobject, jint target, jint pname, jobject params) {
835 void* dataPtr = getDirectBufferPointer( env, params );
836 glGetBufferParameteri64v(target, pname, (GLint64*)dataPtr);
837 }
838
839 /*
840 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
841 * Method: glGenSamplers
842 * Signature: (I[II)V
843 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__I_3II(JNIEnv * env,jobject,jint count,jintArray samplers,jint offset)844 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__I_3II
845 (JNIEnv *env, jobject, jint count, jintArray samplers, jint offset) {
846 int* v = (int*)env->GetPrimitiveArrayCritical(samplers, 0);
847 glGenSamplers(count, (GLuint*)&v[offset]);
848 env->ReleasePrimitiveArrayCritical(samplers, v, 0);
849 }
850
851 /*
852 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
853 * Method: glGenSamplers
854 * Signature: (ILjava/nio/IntBuffer;)V
855 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint count,jobject samplers)856 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__ILjava_nio_IntBuffer_2
857 (JNIEnv *env, jobject, jint count, jobject samplers) {
858 void* dataPtr = getDirectBufferPointer( env, samplers );
859 glGenSamplers(count, (GLuint*)dataPtr);
860 }
861
862 /*
863 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
864 * Method: glDeleteSamplers
865 * Signature: (I[II)V
866 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__I_3II(JNIEnv * env,jobject,jint count,jintArray samplers,jint offset)867 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__I_3II
868 (JNIEnv *env, jobject, jint count, jintArray samplers, jint offset) {
869 int* v = (int*)env->GetPrimitiveArrayCritical(samplers, 0);
870 glDeleteSamplers(count, (GLuint*)&v[offset]);
871 env->ReleasePrimitiveArrayCritical(samplers, v, 0);
872 }
873
874 /*
875 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
876 * Method: glDeleteSamplers
877 * Signature: (ILjava/nio/IntBuffer;)V
878 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint count,jobject samplers)879 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__ILjava_nio_IntBuffer_2
880 (JNIEnv *env, jobject, jint count, jobject samplers) {
881 void* dataPtr = getDirectBufferPointer( env, samplers );
882 glDeleteSamplers(count, (GLuint*)dataPtr);
883 }
884
885 /*
886 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
887 * Method: glIsSampler
888 * Signature: (I)Z
889 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsSampler(JNIEnv * env,jobject,jint sampler)890 JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsSampler
891 (JNIEnv *env, jobject, jint sampler) {
892 return glIsSampler(sampler);
893 }
894
895 /*
896 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
897 * Method: glBindSampler
898 * Signature: (II)V
899 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindSampler(JNIEnv * env,jobject,jint unit,jint sampler)900 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindSampler
901 (JNIEnv *env, jobject, jint unit, jint sampler) {
902 glBindSampler(unit, sampler);
903 }
904
905 /*
906 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
907 * Method: glSamplerParameteri
908 * Signature: (III)V
909 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteri(JNIEnv * env,jobject,jint sampler,jint pname,jint param)910 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteri
911 (JNIEnv *env, jobject, jint sampler, jint pname, jint param) {
912 glSamplerParameteri(sampler, pname, param);
913 }
914
915 /*
916 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
917 * Method: glSamplerParameteriv
918 * Signature: (IILjava/nio/IntBuffer;)V
919 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteriv(JNIEnv * env,jobject,jint sampler,jint pname,jobject params)920 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteriv
921 (JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
922 void* dataPtr = getDirectBufferPointer( env, params );
923 glSamplerParameteriv(sampler, pname, (GLint*)dataPtr);
924 }
925
926 /*
927 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
928 * Method: glSamplerParameterf
929 * Signature: (IIF)V
930 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterf(JNIEnv * env,jobject,jint sampler,jint pname,jfloat param)931 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterf
932 (JNIEnv *env, jobject, jint sampler, jint pname, jfloat param) {
933 glSamplerParameterf(sampler, pname, param);
934 }
935
936 /*
937 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
938 * Method: glSamplerParameterfv
939 * Signature: (IILjava/nio/FloatBuffer;)V
940 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterfv(JNIEnv * env,jobject,jint sampler,jint pname,jobject params)941 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterfv
942 (JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
943 void* dataPtr = getDirectBufferPointer( env, params );
944 glSamplerParameterfv(sampler, pname, (GLfloat*)dataPtr);
945 }
946
947 /*
948 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
949 * Method: glGetSamplerParameteriv
950 * Signature: (IILjava/nio/IntBuffer;)V
951 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameteriv(JNIEnv * env,jobject,jint sampler,jint pname,jobject params)952 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameteriv
953 (JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
954 void* dataPtr = getDirectBufferPointer( env, params );
955 glGetSamplerParameteriv(sampler, pname, (GLint*)dataPtr);
956 }
957
958 /*
959 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
960 * Method: glGetSamplerParameterfv
961 * Signature: (IILjava/nio/FloatBuffer;)V
962 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameterfv(JNIEnv * env,jobject,jint sampler,jint pname,jobject params)963 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameterfv
964 (JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
965 void* dataPtr = getDirectBufferPointer( env, params );
966 glGetSamplerParameterfv(sampler, pname, (GLfloat*)dataPtr);
967 }
968
969 /*
970 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
971 * Method: glVertexAttribDivisor
972 * Signature: (II)V
973 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribDivisor(JNIEnv * env,jobject,jint index,jint divisor)974 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribDivisor
975 (JNIEnv *env, jobject, jint index, jint divisor) {
976 glVertexAttribDivisor(index, divisor);
977 }
978
979 /*
980 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
981 * Method: glBindTransformFeedback
982 * Signature: (II)V
983 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindTransformFeedback(JNIEnv * env,jobject,jint target,jint id)984 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindTransformFeedback
985 (JNIEnv *env, jobject, jint target, jint id) {
986 glBindTransformFeedback(target, id);
987 }
988
989 /*
990 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
991 * Method: glDeleteTransformFeedbacks
992 * Signature: (I[II)V
993 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__I_3II(JNIEnv * env,jobject,jint n,jintArray ids,jint offset)994 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__I_3II
995 (JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
996 int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
997 glDeleteTransformFeedbacks(n, (GLuint*)&v[offset]);
998 env->ReleasePrimitiveArrayCritical(ids, v, 0);
999 }
1000
1001 /*
1002 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1003 * Method: glDeleteTransformFeedbacks
1004 * Signature: (ILjava/nio/IntBuffer;)V
1005 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject ids)1006 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__ILjava_nio_IntBuffer_2
1007 (JNIEnv *env, jobject, jint n, jobject ids) {
1008 void* dataPtr = getDirectBufferPointer( env, ids );
1009 glDeleteTransformFeedbacks(n, (GLuint*)dataPtr);
1010 }
1011
1012 /*
1013 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1014 * Method: glGenTransformFeedbacks
1015 * Signature: (I[II)V
1016 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__I_3II(JNIEnv * env,jobject,jint n,jintArray ids,jint offset)1017 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__I_3II
1018 (JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
1019 int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
1020 glGenTransformFeedbacks(n, (GLuint*)&v[offset]);
1021 env->ReleasePrimitiveArrayCritical(ids, v, 0);
1022 }
1023
1024 /*
1025 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1026 * Method: glGenTransformFeedbacks
1027 * Signature: (ILjava/nio/IntBuffer;)V
1028 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__ILjava_nio_IntBuffer_2(JNIEnv * env,jobject,jint n,jobject ids)1029 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__ILjava_nio_IntBuffer_2
1030 (JNIEnv *env, jobject, jint n, jobject ids) {
1031 void* dataPtr = getDirectBufferPointer( env, ids );
1032 glGenTransformFeedbacks(n, (GLuint*)dataPtr);
1033 }
1034
1035 /*
1036 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1037 * Method: glIsTransformFeedback
1038 * Signature: (I)Z
1039 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsTransformFeedback(JNIEnv * env,jobject,jint id)1040 JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsTransformFeedback
1041 (JNIEnv *env, jobject, jint id) {
1042 return glIsTransformFeedback(id);
1043 }
1044
1045 /*
1046 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1047 * Method: glPauseTransformFeedback
1048 * Signature: ()V
1049 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glPauseTransformFeedback(JNIEnv * env,jobject)1050 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glPauseTransformFeedback
1051 (JNIEnv *env, jobject) {
1052 glPauseTransformFeedback();
1053 }
1054 /*
1055 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1056 * Method: glResumeTransformFeedback
1057 * Signature: ()V
1058 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glResumeTransformFeedback(JNIEnv * env,jobject)1059 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glResumeTransformFeedback
1060 (JNIEnv *env, jobject) {
1061 glResumeTransformFeedback();
1062 }
1063
1064 /*
1065 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1066 * Method: glProgramParameteri
1067 * Signature: (III)V
1068 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glProgramParameteri(JNIEnv * env,jobject,jint program,jint pname,jint value)1069 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glProgramParameteri
1070 (JNIEnv *env, jobject, jint program, jint pname, jint value) {
1071 glProgramParameteri(program, pname, value);
1072 }
1073
1074 /*
1075 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1076 * Method: glInvalidateFramebuffer
1077 * Signature: (IILjava/nio/IntBuffer;)V
1078 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glInvalidateFramebuffer(JNIEnv * env,jobject,jint target,jint numAttachments,jobject attachments)1079 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glInvalidateFramebuffer
1080 (JNIEnv *env, jobject, jint target, jint numAttachments, jobject attachments) {
1081 void* dataPtr = getDirectBufferPointer( env, attachments );
1082 glInvalidateFramebuffer(target, numAttachments, (GLenum*)dataPtr);
1083 }
1084
1085 /*
1086 * Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
1087 * Method: glInvalidateSubFramebuffer
1088 * Signature: (IILjava/nio/IntBuffer;IIII)V
1089 */
Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glInvalidateSubFramebuffer(JNIEnv * env,jobject,jint target,jint numAttachments,jobject attachments,jint x,jint y,jint width,jint height)1090 JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glInvalidateSubFramebuffer
1091 (JNIEnv *env, jobject, jint target, jint numAttachments, jobject attachments, jint x, jint y, jint width, jint height) {
1092 void* dataPtr = getDirectBufferPointer( env, attachments );
1093 glInvalidateSubFramebuffer(target, numAttachments, (GLenum*)dataPtr, x, y, width, height);
1094 }
1095
1096
1097 #endif
1098 #endif