blob: 4e253b7a5ab3e6f8b814bc6e53b8c41b1c1ec5a0 [file] [log] [blame]
/* void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) */
static void
android_glDrawElementsInstancedBaseVertex__IIILjava_nio_Buffer_2II
(JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf, jint instanceCount, jint basevertex) {
jint _exception = 0;
const char * _exceptionType = NULL;
const char * _exceptionMessage = NULL;
jarray _array = (jarray) 0;
jint _bufferOffset = (jint) 0;
jint _remaining;
void *indices = (void *) 0;
indices = (void *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset);
if (_remaining < count-basevertex) {
_exception = 1;
_exceptionType = "java/lang/ArrayIndexOutOfBoundsException";
_exceptionMessage = "remaining() < count-basevertex < needed";
goto exit;
}
if (indices == NULL) {
char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
indices = (void *) (_indicesBase + _bufferOffset);
}
glDrawElementsInstancedBaseVertex(
(GLenum)mode,
(GLsizei)count,
(GLenum)type,
(void *)indices,
(GLsizei)instanceCount,
(GLint) basevertex
);
exit:
if (_array) {
releasePointer(_env, _array, indices, JNI_FALSE);
}
}
/* void glDrawElementsInstancedBaseVertex ( GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount, GLint basevertex ) */
static void
android_glDrawElementsInstancedBaseVertex__IIIIII
(JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint indicesOffset, jint instanceCount, jint basevertex) {
glDrawElementsInstancedBaseVertex(
(GLenum)mode,
(GLsizei)count,
(GLenum)type,
(void *)static_cast<uintptr_t>(indicesOffset),
(GLsizei)instanceCount,
(GLint)basevertex
);
}