From: José Fonseca Date: Wed, 20 Apr 2011 20:09:28 +0000 (+0100) Subject: Fix GL prototypes on MacOSX. X-Git-Tag: 2.0_alpha^2~1036 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f01b7f59e1a1ff4e5bc4bbbdb69d419fd77eade3;p=tools%2Fapitrace.git Fix GL prototypes on MacOSX. --- diff --git a/glapi.py b/glapi.py index a2bf93e..2da980b 100644 --- a/glapi.py +++ b/glapi.py @@ -33,6 +33,8 @@ cases correctly. """ +import platform + from stdapi import * from glenum import * @@ -87,8 +89,13 @@ GLfragmentShaderATI = Handle("fragmentShaderATI", GLuint) GLvertexArray = Handle("vertexArrayAPPLE", GLuint) GLregion = Handle("region", GLuint) -# Some functions take GLenum disguised as GLint -GLenum_int = Alias("GLint", GLenum) +# Some functions take GLenum disguised as GLint. Apple noticed and fixed it in +# the gl.h header. Regardless, C++ typechecking rules force the wrappers to +# match the prototype precisely. +if platform.system() == 'Darwin': + GLenum_int = GLenum +else: + GLenum_int = Alias("GLint", GLenum) GLsync_ = Opaque("GLsync") GLsync = Handle("sync", GLsync_) @@ -541,8 +548,8 @@ glapi.add_functions([ # GL_VERSION_1_4 GlFunction(Void, "glBlendFuncSeparate", [(GLenum, "sfactorRGB"), (GLenum, "dfactorRGB"), (GLenum, "sfactorAlpha"), (GLenum, "dfactorAlpha")]), - GlFunction(Void, "glMultiDrawArrays", [(GLenum_mode, "mode"), (OpaquePointer(GLint), "first"), (OpaquePointer(GLsizei), "count"), (GLsizei, "primcount")]), - GlFunction(Void, "glMultiDrawElements", [(GLenum_mode, "mode"), (Const(Array(GLsizei, "primcount")), "count"), (GLenum, "type"), (Array(Const(Const(OpaquePointer(GLvoid))), "primcount"), "indices"), (GLsizei, "primcount")]), + GlFunction(Void, "glMultiDrawArrays", [(GLenum_mode, "mode"), (Const(Array(GLint, "primcount")), "first"), (Const(Array(GLsizei, "primcount")), "count"), (GLsizei, "primcount")]), + GlFunction(Void, "glMultiDrawElements", [(GLenum_mode, "mode"), (Const(Array(GLsizei, "primcount")), "count"), (GLenum, "type"), (Array(Opaque("const GLvoid *"), "primcount"), "indices"), (GLsizei, "primcount")]), GlFunction(Void, "glPointParameterf", [(GLenum, "pname"), (GLfloat, "param")]), GlFunction(Void, "glPointParameterfv", [(GLenum, "pname"), (Const(Array(GLfloat, "__glPointParameterfv_size(pname)")), "params")]), GlFunction(Void, "glPointParameteri", [(GLenum, "pname"), (GLint, "param")]), diff --git a/retrace.py b/retrace.py index 4f45055..4169b26 100644 --- a/retrace.py +++ b/retrace.py @@ -37,10 +37,7 @@ class ConstRemover(stdapi.Rebuilder): return const.type def visit_opaque(self, opaque): - expr = opaque.expr - if expr.startswith('const '): - expr = expr[6:] - return stdapi.Opaque(expr) + return opaque def handle_entry(handle, value):