diff options
Diffstat (limited to 'opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp')
-rw-r--r-- | opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp new file mode 100644 index 0000000..5b556d5 --- /dev/null +++ b/opengl/tools/glgen/stubs/gles11/glGetProgramPipelineInfoLog.cpp @@ -0,0 +1,19 @@ +#include <stdlib.h> + +/* void glGetProgramPipelineInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ +static jstring android_glGetProgramPipelineInfoLog(JNIEnv *_env, jobject, jint shader) { + GLint infoLen = 0; + glGetProgramPipelineiv(shader, GL_INFO_LOG_LENGTH, &infoLen); + if (!infoLen) { + return _env->NewStringUTF(""); + } + char* buf = (char*) malloc(infoLen); + if (buf == NULL) { + jniThrowException(_env, "java/lang/OutOfMemoryError", "out of memory"); + return NULL; + } + glGetProgramPipelineInfoLog(shader, infoLen, NULL, buf); + jstring result = _env->NewStringUTF(buf); + free(buf); + return result; +} |