1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/* 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
);
}
|