1098 lines
No EOL
40 KiB
C++
1098 lines
No EOL
40 KiB
C++
#ifdef __APPLE__
|
|
#include <TargetConditionals.h>
|
|
|
|
#if TARGET_OS_IPHONE
|
|
#include "iosgl30.h"
|
|
#include <OpenGLES/ES3/gl.h>
|
|
#include <OpenGLES/ES3/glext.h>
|
|
#include <stdio.h>
|
|
|
|
static jclass bufferClass;
|
|
static jclass byteBufferClass;
|
|
static jclass charBufferClass;
|
|
static jclass shortBufferClass;
|
|
static jclass intBufferClass;
|
|
static jclass longBufferClass;
|
|
static jclass floatBufferClass;
|
|
static jclass doubleBufferClass;
|
|
static jclass OOMEClass;
|
|
static jclass UOEClass;
|
|
static jclass IAEClass;
|
|
|
|
static jmethodID positionID;
|
|
|
|
|
|
static void
|
|
nativeClassInitBuffer(JNIEnv *_env)
|
|
{
|
|
jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
|
|
bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
|
|
|
|
byteBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/ByteBuffer"));
|
|
charBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/CharBuffer"));
|
|
shortBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/ShortBuffer"));
|
|
intBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/IntBuffer"));
|
|
longBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/LongBuffer"));
|
|
floatBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/FloatBuffer"));
|
|
doubleBufferClass = (jclass) _env->NewGlobalRef(_env->FindClass("java/nio/DoubleBuffer"));
|
|
|
|
positionID = _env->GetMethodID(bufferClass, "position","()I");
|
|
if(positionID == 0) _env->ThrowNew(IAEClass, "Couldn't fetch position() method");
|
|
}
|
|
|
|
static void
|
|
nativeClassInit(JNIEnv *_env)
|
|
{
|
|
nativeClassInitBuffer(_env);
|
|
|
|
jclass IAEClassLocal =
|
|
_env->FindClass("java/lang/IllegalArgumentException");
|
|
jclass OOMEClassLocal =
|
|
_env->FindClass("java/lang/OutOfMemoryError");
|
|
jclass UOEClassLocal =
|
|
_env->FindClass("java/lang/UnsupportedOperationException");
|
|
|
|
IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal);
|
|
OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal);
|
|
UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal);
|
|
}
|
|
|
|
static jint getElementSizeShift(JNIEnv *_env, jobject buffer) {
|
|
if(_env->IsInstanceOf(buffer, byteBufferClass)) return 0;
|
|
if(_env->IsInstanceOf(buffer, floatBufferClass)) return 2;
|
|
if(_env->IsInstanceOf(buffer, shortBufferClass)) return 1;
|
|
|
|
if(_env->IsInstanceOf(buffer, charBufferClass)) return 1;
|
|
if(_env->IsInstanceOf(buffer, intBufferClass)) return 2;
|
|
if(_env->IsInstanceOf(buffer, longBufferClass)) return 3;
|
|
if(_env->IsInstanceOf(buffer, doubleBufferClass)) return 3;
|
|
|
|
_env->ThrowNew(IAEClass, "buffer type unkown! (Not a ByteBuffer, ShortBuffer, etc.)");
|
|
return 0;
|
|
}
|
|
|
|
inline jint getBufferPosition(JNIEnv *env, jobject buffer)
|
|
{
|
|
jint ret = env->CallIntMethodA(buffer, positionID, 0);
|
|
return ret;
|
|
}
|
|
|
|
static void *
|
|
getDirectBufferPointer(JNIEnv *_env, jobject buffer) {
|
|
if (!buffer) {
|
|
return NULL;
|
|
}
|
|
void* buf = _env->GetDirectBufferAddress(buffer);
|
|
if (buf) {
|
|
jint position = getBufferPosition(_env, buffer);
|
|
jint elementSizeShift = getElementSizeShift(_env, buffer);
|
|
buf = ((char*) buf) + (position << elementSizeShift);
|
|
} else {
|
|
_env->ThrowNew(IAEClass, "Must use a native order direct Buffer");
|
|
}
|
|
return buf;
|
|
}
|
|
|
|
static const char* getString( JNIEnv *env, jstring string )
|
|
{
|
|
return (const char*)env->GetStringUTFChars(string, NULL);
|
|
}
|
|
|
|
static void releaseString( JNIEnv *env, jstring string, const char* cString )
|
|
{
|
|
env->ReleaseStringUTFChars(string, cString);
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_init
|
|
(JNIEnv *env, jclass)
|
|
{
|
|
nativeClassInit( env );
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glReadBuffer
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glReadBuffer
|
|
(JNIEnv *env, jobject, jint mode) {
|
|
glReadBuffer(mode);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDrawRangeElements
|
|
* Signature: (IIIIILjava/nio/Buffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
void* dataPtr = getDirectBufferPointer( env, indices );
|
|
glDrawRangeElements(mode, start, end, count, type, dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDrawRangeElements
|
|
* Signature: (IIIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawRangeElements__IIIIII
|
|
(JNIEnv *env, jobject, jint mode, jint start, jint end, jint count, jint type, jint offset) {
|
|
glDrawRangeElements(mode, start, end, count, type, (void*)offset);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glTexImage3D
|
|
* Signature: (IIIIIIIIILjava/nio/Buffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
void* dataPtr = getDirectBufferPointer( env, pixels );
|
|
glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glTexImage3D
|
|
* Signature: (IIIIIIIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (void*)offset);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glTexSubImage3D
|
|
* Signature: (IIIIIIIIIILjava/nio/Buffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
void* dataPtr = getDirectBufferPointer( env, pixels );
|
|
glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glTexSubImage3D
|
|
* Signature: (IIIIIIIIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (void*)offset);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glCopyTexSubImage3D
|
|
* Signature: (IIIIIIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenQueries
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
|
|
glGenQueries(n, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(ids, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenQueries
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenQueries__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject ids) {
|
|
void* dataPtr = getDirectBufferPointer( env, ids );
|
|
glGenQueries(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteQueries
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
|
|
void* dataPtr = getDirectBufferPointer( env, ids );
|
|
glDeleteQueries(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteQueries
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteQueries__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject ids) {
|
|
void* dataPtr = getDirectBufferPointer( env, ids );
|
|
glDeleteQueries(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glIsQuery
|
|
* Signature: (I)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsQuery
|
|
(JNIEnv *env, jobject, jint id) {
|
|
return glIsQuery(id);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBeginQuery
|
|
* Signature: (II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginQuery
|
|
(JNIEnv *env, jobject, jint target, jint id) {
|
|
glBeginQuery(target, id);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glEndQuery
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndQuery
|
|
(JNIEnv *env, jobject, jint target) {
|
|
glEndQuery(target);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetQueryiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryiv
|
|
(JNIEnv *env, jobject, jint target, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetQueryiv(target, pname, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetQueryObjectuiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetQueryObjectuiv
|
|
(JNIEnv *env, jobject, jint target, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetQueryObjectuiv(target, pname, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUnmapBuffer
|
|
* Signature: (I)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUnmapBuffer
|
|
(JNIEnv *env, jobject, jint target) {
|
|
return glUnmapBuffer(target);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetBufferPointerv
|
|
* Signature: (II)Ljava/nio/Buffer;
|
|
*/
|
|
JNIEXPORT jobject JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferPointerv
|
|
(JNIEnv *env, jobject, jint target, jint pname) {
|
|
//FIXME glGetBufferPointerv (GLenum target, GLenum pname, void **params);
|
|
env->ThrowNew(IAEClass, "Unsupported method");
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDrawBuffers
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawBuffers
|
|
(JNIEnv *env, jobject, jint n, jobject bufs) {
|
|
void* dataPtr = getDirectBufferPointer( env, bufs );
|
|
glDrawBuffers(n, (GLenum*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix2x3fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x3fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix2x3fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix3x2fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x2fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix3x2fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix2x4fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix2x4fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix2x4fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix4x2fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x2fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix4x2fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix3x4fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix3x4fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix3x4fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformMatrix4x3fv
|
|
* Signature: (IIZLjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformMatrix4x3fv
|
|
(JNIEnv *env, jobject, jint location, jint count, jboolean transpose, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniformMatrix4x3fv(location, count, transpose, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBlitFramebuffer
|
|
* Signature: (IIIIIIIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glRenderbufferStorageMultisample
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glRenderbufferStorageMultisample
|
|
(JNIEnv *env, jobject, jint target, jint samples, jint internalformat, jint width, jint height) {
|
|
glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glFramebufferTextureLayer
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFramebufferTextureLayer
|
|
(JNIEnv *env, jobject, jint target, jint attachment, jint texture, jint level, jint layer) {
|
|
glFramebufferTextureLayer(target, attachment, texture, level, layer);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glFlushMappedBufferRange
|
|
* Signature: (III)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glFlushMappedBufferRange
|
|
(JNIEnv *env, jobject, jint target, jint offset, jint length) {
|
|
glFlushMappedBufferRange(target, offset, length);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBindVertexArray
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindVertexArray
|
|
(JNIEnv *env, jobject, jint array) {
|
|
glBindVertexArray(array);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteVertexArrays
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray arrays, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(arrays, 0);
|
|
glDeleteVertexArrays(n, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(arrays, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteVertexArrays
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteVertexArrays__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject arrays) {
|
|
void* dataPtr = getDirectBufferPointer( env, arrays );
|
|
glDeleteVertexArrays(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenVertexArrays
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray arrays, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(arrays, 0);
|
|
glGenVertexArrays(n, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(arrays, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenVertexArrays
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenVertexArrays__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject arrays) {
|
|
void* dataPtr = getDirectBufferPointer( env, arrays );
|
|
glGenVertexArrays(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glIsVertexArray
|
|
* Signature: (I)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsVertexArray
|
|
(JNIEnv *env, jobject, jint array) {
|
|
return glIsVertexArray(array);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBeginTransformFeedback
|
|
* Signature: (I)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBeginTransformFeedback
|
|
(JNIEnv *env, jobject, jint primitiveMode) {
|
|
glBeginTransformFeedback(primitiveMode);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glEndTransformFeedback
|
|
* Signature: ()V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glEndTransformFeedback
|
|
(JNIEnv *env, jobject) {
|
|
glEndTransformFeedback();
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBindBufferRange
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferRange
|
|
(JNIEnv *env, jobject, jint target, jint index, jint buffer, jint offset, jint size) {
|
|
glBindBufferRange(target, index, buffer, offset, size);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBindBufferBase
|
|
* Signature: (III)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindBufferBase
|
|
(JNIEnv *env, jobject, jint target, jint index, jint buffer) {
|
|
glBindBufferBase(target, index, buffer);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glTransformFeedbackVaryings
|
|
* Signature: (I[Ljava/lang/String;I)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glTransformFeedbackVaryings
|
|
(JNIEnv *env, jobject, jint program, jobjectArray varyings, jint buffermode) {
|
|
//FIXME: convert String[] to char**
|
|
env->ThrowNew(IAEClass, "Unsupported method");
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glVertexAttribIPointer
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribIPointer
|
|
(JNIEnv *env, jobject, jint index, jint size, jint type, jint stride, jint offset) {
|
|
glVertexAttribIPointer(index, size, type, stride, (void*)offset);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetVertexAttribIiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIiv
|
|
(JNIEnv *env, jobject, jint index, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetVertexAttribIiv(index, pname, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetVertexAttribIuiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetVertexAttribIuiv
|
|
(JNIEnv *env, jobject, jint index, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetVertexAttribIuiv(index, pname, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glVertexAttribI4i
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4i
|
|
(JNIEnv *env, jobject, jint index, jint x, jint y, jint z, jint w) {
|
|
glVertexAttribI4i(index, x, y, z, w);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glVertexAttribI4ui
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribI4ui
|
|
(JNIEnv *env, jobject, jint index, jint x, jint y, jint z, jint w) {
|
|
glVertexAttribI4ui(index, x, y, z, w);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetUniformuiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformuiv
|
|
(JNIEnv *env, jobject, jint program, jint location, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetUniformuiv(program, location, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetFragDataLocation
|
|
* Signature: (ILjava/lang/String;)I
|
|
*/
|
|
JNIEXPORT jint JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetFragDataLocation
|
|
(JNIEnv *env, jobject, jint program, jstring name) {
|
|
const char* cname = getString( env, name );
|
|
int loc = glGetFragDataLocation(program, cname);
|
|
releaseString( env, name, cname );
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniform1uiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform1uiv
|
|
(JNIEnv *env, jobject, jint location, jint count, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniform1uiv(location, count, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniform3uiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform3uiv
|
|
(JNIEnv *env, jobject, jint location, jint count, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniform3uiv(location, count, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniform4uiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniform4uiv
|
|
(JNIEnv *env, jobject, jint location, jint count, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glUniform4uiv(location, count, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glClearBufferiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferiv
|
|
(JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glClearBufferiv(buffer, drawbuffer, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glClearBufferuiv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferuiv
|
|
(JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glClearBufferuiv(buffer, drawbuffer, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glClearBufferfv
|
|
* Signature: (IILjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfv
|
|
(JNIEnv *env, jobject, jint buffer, jint drawbuffer, jobject value) {
|
|
void* dataPtr = getDirectBufferPointer( env, value );
|
|
glClearBufferfv(buffer, drawbuffer, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glClearBufferfi
|
|
* Signature: (IIFI)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glClearBufferfi
|
|
(JNIEnv *env, jobject, jint buffer, jint drawbuffer, jfloat depth, jint stencil) {
|
|
glClearBufferfi(buffer, drawbuffer, depth, stencil);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetStringi
|
|
* Signature: (II)Ljava/lang/String;
|
|
*/
|
|
JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetStringi
|
|
(JNIEnv *env, jobject, jint name, jint index) {
|
|
return env->NewStringUTF((const char *)glGetStringi(name, index));
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glCopyBufferSubData
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glCopyBufferSubData
|
|
(JNIEnv *env, jobject, jint readTarget, jint writeTarget, jint readOffset, jint writeOffset, jint size) {
|
|
glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetUniformIndices
|
|
* Signature: (I[Ljava/lang/String;Ljava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformIndices
|
|
(JNIEnv *env, jobject, jint, jobjectArray, jobject) {
|
|
//FIXME: glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
|
|
env->ThrowNew(IAEClass, "Unsupported method");
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetActiveUniformsiv
|
|
* Signature: (IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformsiv
|
|
(JNIEnv *env, jobject, jint program, jint uniformCount, jobject indices, jint pname, jobject params) {
|
|
void* indicesPtr = getDirectBufferPointer( env, indices );
|
|
void* paramsPtr = getDirectBufferPointer( env, params );
|
|
glGetActiveUniformsiv(program, uniformCount, (GLuint*)indicesPtr, pname, (GLint*)paramsPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetUniformBlockIndex
|
|
* Signature: (ILjava/lang/String;)I
|
|
*/
|
|
JNIEXPORT jint JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetUniformBlockIndex
|
|
(JNIEnv *env, jobject, jint program, jstring uniformBlockName) {
|
|
const char* cname = getString( env, uniformBlockName );
|
|
int loc = glGetUniformBlockIndex(program, cname);
|
|
releaseString( env, uniformBlockName, cname );
|
|
return loc;
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetActiveUniformBlockiv
|
|
* Signature: (IIILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockiv
|
|
(JNIEnv *env, jobject, jint program, jint uniformBlockIndex, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetActiveUniformBlockName
|
|
* Signature: (IILjava/nio/Buffer;Ljava/nio/Buffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__IILjava_nio_Buffer_2Ljava_nio_Buffer_2
|
|
(JNIEnv *env, jobject, jint, jint, jobject, jobject) {
|
|
//FIXME: glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
|
|
env->ThrowNew(IAEClass, "Unsupported method");
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetActiveUniformBlockName
|
|
* Signature: (II)Ljava/lang/String;
|
|
*/
|
|
JNIEXPORT jstring JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetActiveUniformBlockName__II
|
|
(JNIEnv *env, jobject, jint, jint) {
|
|
//FIXME: glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
|
|
env->ThrowNew(IAEClass, "Unsupported method");
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glUniformBlockBinding
|
|
* Signature: (III)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glUniformBlockBinding
|
|
(JNIEnv *env, jobject, jint program, jint uniformBlockIndex, jint uniformBlockBinding) {
|
|
glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDrawArraysInstanced
|
|
* Signature: (IIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawArraysInstanced
|
|
(JNIEnv *env, jobject, jint mode, jint first, jint count, jint instancecount) {
|
|
glDrawArraysInstanced(mode, first, count, instancecount);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDrawElementsInstanced
|
|
* Signature: (IIIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDrawElementsInstanced
|
|
(JNIEnv *env, jobject, jint mode, jint count, jint type, jint indicesOffset, jint instancecount) {
|
|
glDrawElementsInstanced(mode, count, type, (GLvoid*)indicesOffset, instancecount);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetInteger64v
|
|
* Signature: (ILjava/nio/LongBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetInteger64v
|
|
(JNIEnv *env, jobject, jint pname, jobject data) {
|
|
void* dataPtr = getDirectBufferPointer( env, data );
|
|
glGetInteger64v(pname, (GLint64*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetBufferParameteri64v
|
|
* Signature: (IILjava/nio/LongBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetBufferParameteri64v
|
|
(JNIEnv *env, jobject, jint target, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetBufferParameteri64v(target, pname, (GLint64*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenSamplers
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__I_3II
|
|
(JNIEnv *env, jobject, jint count, jintArray samplers, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(samplers, 0);
|
|
glGenSamplers(count, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(samplers, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenSamplers
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenSamplers__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint count, jobject samplers) {
|
|
void* dataPtr = getDirectBufferPointer( env, samplers );
|
|
glGenSamplers(count, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteSamplers
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__I_3II
|
|
(JNIEnv *env, jobject, jint count, jintArray samplers, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(samplers, 0);
|
|
glDeleteSamplers(count, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(samplers, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteSamplers
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteSamplers__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint count, jobject samplers) {
|
|
void* dataPtr = getDirectBufferPointer( env, samplers );
|
|
glDeleteSamplers(count, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glIsSampler
|
|
* Signature: (I)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsSampler
|
|
(JNIEnv *env, jobject, jint sampler) {
|
|
return glIsSampler(sampler);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBindSampler
|
|
* Signature: (II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindSampler
|
|
(JNIEnv *env, jobject, jint unit, jint sampler) {
|
|
glBindSampler(unit, sampler);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glSamplerParameteri
|
|
* Signature: (III)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteri
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jint param) {
|
|
glSamplerParameteri(sampler, pname, param);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glSamplerParameteriv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameteriv
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glSamplerParameteriv(sampler, pname, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glSamplerParameterf
|
|
* Signature: (IIF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterf
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jfloat param) {
|
|
glSamplerParameterf(sampler, pname, param);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glSamplerParameterfv
|
|
* Signature: (IILjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glSamplerParameterfv
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glSamplerParameterfv(sampler, pname, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetSamplerParameteriv
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameteriv
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetSamplerParameteriv(sampler, pname, (GLint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGetSamplerParameterfv
|
|
* Signature: (IILjava/nio/FloatBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGetSamplerParameterfv
|
|
(JNIEnv *env, jobject, jint sampler, jint pname, jobject params) {
|
|
void* dataPtr = getDirectBufferPointer( env, params );
|
|
glGetSamplerParameterfv(sampler, pname, (GLfloat*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glVertexAttribDivisor
|
|
* Signature: (II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glVertexAttribDivisor
|
|
(JNIEnv *env, jobject, jint index, jint divisor) {
|
|
glVertexAttribDivisor(index, divisor);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glBindTransformFeedback
|
|
* Signature: (II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glBindTransformFeedback
|
|
(JNIEnv *env, jobject, jint target, jint id) {
|
|
glBindTransformFeedback(target, id);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteTransformFeedbacks
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
|
|
glDeleteTransformFeedbacks(n, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(ids, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glDeleteTransformFeedbacks
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glDeleteTransformFeedbacks__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject ids) {
|
|
void* dataPtr = getDirectBufferPointer( env, ids );
|
|
glDeleteTransformFeedbacks(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenTransformFeedbacks
|
|
* Signature: (I[II)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__I_3II
|
|
(JNIEnv *env, jobject, jint n, jintArray ids, jint offset) {
|
|
int* v = (int*)env->GetPrimitiveArrayCritical(ids, 0);
|
|
glGenTransformFeedbacks(n, (GLuint*)&v[offset]);
|
|
env->ReleasePrimitiveArrayCritical(ids, v, 0);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glGenTransformFeedbacks
|
|
* Signature: (ILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glGenTransformFeedbacks__ILjava_nio_IntBuffer_2
|
|
(JNIEnv *env, jobject, jint n, jobject ids) {
|
|
void* dataPtr = getDirectBufferPointer( env, ids );
|
|
glGenTransformFeedbacks(n, (GLuint*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glIsTransformFeedback
|
|
* Signature: (I)Z
|
|
*/
|
|
JNIEXPORT jboolean JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glIsTransformFeedback
|
|
(JNIEnv *env, jobject, jint id) {
|
|
return glIsTransformFeedback(id);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glPauseTransformFeedback
|
|
* Signature: ()V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glPauseTransformFeedback
|
|
(JNIEnv *env, jobject) {
|
|
glPauseTransformFeedback();
|
|
}
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glResumeTransformFeedback
|
|
* Signature: ()V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glResumeTransformFeedback
|
|
(JNIEnv *env, jobject) {
|
|
glResumeTransformFeedback();
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glProgramParameteri
|
|
* Signature: (III)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glProgramParameteri
|
|
(JNIEnv *env, jobject, jint program, jint pname, jint value) {
|
|
glProgramParameteri(program, pname, value);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glInvalidateFramebuffer
|
|
* Signature: (IILjava/nio/IntBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_com_badlogic_gdx_backends_iosrobovm_IOSGLES30_glInvalidateFramebuffer
|
|
(JNIEnv *env, jobject, jint target, jint numAttachments, jobject attachments) {
|
|
void* dataPtr = getDirectBufferPointer( env, attachments );
|
|
glInvalidateFramebuffer(target, numAttachments, (GLenum*)dataPtr);
|
|
}
|
|
|
|
/*
|
|
* Class: com_badlogic_gdx_backends_iosrobovm_IOSGLES30
|
|
* Method: glInvalidateSubFramebuffer
|
|
* Signature: (IILjava/nio/IntBuffer;IIII)V
|
|
*/
|
|
JNIEXPORT void JNICALL 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) {
|
|
void* dataPtr = getDirectBufferPointer( env, attachments );
|
|
glInvalidateSubFramebuffer(target, numAttachments, (GLenum*)dataPtr, x, y, width, height);
|
|
}
|
|
|
|
|
|
#endif
|
|
#endif |