replicant-frameworks_native/opengl/tools/glgen/stubs/gles11/glDrawElementsInstanced.cpp
Jesse Hall 071fc66059 Add buffer object versions of several functions
Some of these are new ES3 functions, some are existing ES2 functions
that can now use the new pixel pack/unpack buffer bindings.

glDrawElementsInstanced needs a special case since the pointer/offset
arg isn't the last one like the generator assumes.

Bug: 8566953
Change-Id: I638a36b0a31aefcb5bfee6f4d049348223045103
2013-04-10 22:00:17 -07:00

40 lines
1.4 KiB
C++

/* void glDrawElementsInstanced ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount ) */
static void
android_glDrawElementsInstanced__IIILjava_nio_Buffer_2I
(JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf, jint instanceCount) {
jarray _array = (jarray) 0;
jint _bufferOffset = (jint) 0;
jint _remaining;
GLvoid *indices = (GLvoid *) 0;
indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset);
if (indices == NULL) {
char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
indices = (GLvoid *) (_indicesBase + _bufferOffset);
}
glDrawElementsInstanced(
(GLenum)mode,
(GLsizei)count,
(GLenum)type,
(GLvoid *)indices,
(GLsizei)instanceCount
);
if (_array) {
releasePointer(_env, _array, indices, JNI_FALSE);
}
}
/* void glDrawElementsInstanced ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount ) */
static void
android_glDrawElementsInstanced__IIIII
(JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint indicesOffset, jint instanceCount) {
glDrawElementsInstanced(
(GLenum)mode,
(GLsizei)count,
(GLenum)type,
(GLvoid *)indicesOffset,
(GLsizei)instanceCount
);
}