071fc66059
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
40 lines
1.4 KiB
C++
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
|
|
);
|
|
}
|
|
|