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

14 lines
669 B
C++

/* void glDispatchComputeIndirect ( GLintptr indirect ) */
static void android_glDispatchComputeIndirect(JNIEnv *_env, jobject, jlong indirect) {
// 'indirect' is a byte offset, not a pointer. GL checks for negative and too-large values.
// Here we only need to check for successful 64-bit to 32-bit conversion.
// - jlong is a int64_t (jni.h)
// - GLintptr is a long (khrplatform.h)
if (sizeof(GLintptr) != sizeof(jlong) && (indirect < LONG_MIN || indirect > LONG_MAX)) {
jniThrowException(_env, "java/lang/IllegalArgumentException", "indirect offset too large");
return;
}
glDispatchComputeIndirect((GLintptr)indirect);
}