diff --git a/opengl/tools/glgen/src/JniCodeEmitter.java b/opengl/tools/glgen/src/JniCodeEmitter.java index b1bd1fdcf..e51b7a284 100644 --- a/opengl/tools/glgen/src/JniCodeEmitter.java +++ b/opengl/tools/glgen/src/JniCodeEmitter.java @@ -1283,7 +1283,7 @@ public class JniCodeEmitter { for (int i = 0; i < numArgs; i++) { String typecast; if (i == numArgs - 1 && isPointerOffsetFunc) { - typecast = "(GLvoid *)"; + typecast = "reinterpret_cast"; } else { typecast = "(" + cfunc.getArgType(i).getDeclaration() + ")"; } @@ -1297,6 +1297,8 @@ public class JniCodeEmitter { if (cfunc.getArgType(i).isEGLHandle() && !cfunc.getArgType(i).isPointer()){ out.print(cfunc.getArgName(i)+"_native"); + } else if (i == numArgs - 1 && isPointerOffsetFunc){ + out.print("("+cfunc.getArgName(i)+")"); } else { out.print(cfunc.getArgName(i)); } diff --git a/opengl/tools/glgen/stubs/gles11/common.cpp b/opengl/tools/glgen/stubs/gles11/common.cpp index 75b75cb7d..c5a7a244b 100644 --- a/opengl/tools/glgen/stubs/gles11/common.cpp +++ b/opengl/tools/glgen/stubs/gles11/common.cpp @@ -89,7 +89,7 @@ getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *o getBasePointerID, buffer); if (pointer != 0L) { *array = NULL; - return (void *) (jint) pointer; + return reinterpret_cast(pointer); } *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, diff --git a/opengl/tools/glgen/stubs/gles11/glGetActiveAttrib.cpp b/opengl/tools/glgen/stubs/gles11/glGetActiveAttrib.cpp index 27b91fc56..7d414d8f3 100644 --- a/opengl/tools/glgen/stubs/gles11/glGetActiveAttrib.cpp +++ b/opengl/tools/glgen/stubs/gles11/glGetActiveAttrib.cpp @@ -157,7 +157,7 @@ android_glGetActiveAttrib__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_ni (GLsizei *)length, (GLint *)size, (GLenum *)type, - (char *)name + reinterpret_cast(name) ); if (_typeArray) { releasePointer(_env, _typeArray, type, JNI_TRUE); diff --git a/opengl/tools/glgen/stubs/gles11/glGetActiveUniform.cpp b/opengl/tools/glgen/stubs/gles11/glGetActiveUniform.cpp index 58f704c17..a7376ba90 100644 --- a/opengl/tools/glgen/stubs/gles11/glGetActiveUniform.cpp +++ b/opengl/tools/glgen/stubs/gles11/glGetActiveUniform.cpp @@ -157,7 +157,7 @@ android_glGetActiveUniform__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_n (GLsizei *)length, (GLint *)size, (GLenum *)type, - (char *)name + reinterpret_cast(name) ); if (_typeArray) { releasePointer(_env, _typeArray, type, JNI_TRUE); diff --git a/opengl/tools/glgen/stubs/gles11/glGetShaderSource.cpp b/opengl/tools/glgen/stubs/gles11/glGetShaderSource.cpp index a7e1cd25e..c995d9cef 100644 --- a/opengl/tools/glgen/stubs/gles11/glGetShaderSource.cpp +++ b/opengl/tools/glgen/stubs/gles11/glGetShaderSource.cpp @@ -85,7 +85,7 @@ android_glGetShaderSource__IILjava_nio_IntBuffer_2B (GLuint)shader, (GLsizei)bufsize, (GLsizei *)length, - (char *)source + reinterpret_cast(source) ); if (_array) { releasePointer(_env, _array, length, JNI_TRUE); diff --git a/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp index 47430383d..df11c5342 100644 --- a/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp +++ b/opengl/tools/glgen/stubs/jsr239/GLCHeader.cpp @@ -128,7 +128,7 @@ getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *o getBasePointerID, buffer); if (pointer != 0L) { *array = NULL; - return (void *) (jint) pointer; + return reinterpret_cast(pointer); } *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,