replicant-frameworks_native/opengl/tools/glgen/stubs/gles11/glDrawElementsIndirect.cpp
Jesse Hall 16f0392874 opengl: Add GLES31 and GLES31Ext class templates
Bug: 15028495
Change-Id: I276d04f029d441e092428fad72f09ca15e1d233a
2014-05-20 13:31:05 -07:00

13 lines
663 B
C++

/* void glDrawElementsIndirect ( GLenum mode, GLenum type, const void *indirect ) */
static void android_glDrawElementsIndirect(JNIEnv *_env, jobject, jint mode, jint type, jlong indirect) {
// In OpenGL ES, 'indirect' is a byte offset into a buffer, not a raw pointer.
// GL checks for too-large values. Here we only need to check for successful signed 64-bit
// to unsigned 32-bit conversion.
if (sizeof(void*) != sizeof(jlong) && indirect > UINTPTR_MAX) {
jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large");
return;
}
glDrawElementsIndirect(mode, type, (const void*)indirect);
}