[Mesa-dev] Mesa (master): glapi: Add API that can create a _glapi_table from a dlfcn handle

Brian Paul brianp at vmware.com
Mon Jun 13 07:22:15 PDT 2011


  On 06/11/2011 11:18 PM, Jeremy Huddleston wrote:
> Module: Mesa
> Branch: master
> Commit: 85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b
> URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b
>
> Author: Jeremy Huddleston<jeremyhu at apple.com>
> Date:   Thu Jun  9 16:59:49 2011 -0700
>
> glapi: Add API that can create a _glapi_table from a dlfcn handle
>
> Example usage:
>
> void *handle = dlopen(opengl_library_path, RTLD_LOCAL);
> struct _glapi_table *disp = _glapi_create_table_from_handle(handle, "gl");
>
> Signed-off-by: Jeremy Huddleston<jeremyhu at apple.com>
>
> ---
>
>   src/mapi/glapi/gen/Makefile       |    9 +-
>   src/mapi/glapi/gen/gl_gentable.py |  131 +
>   src/mapi/glapi/glapi.h            |    4 +
>   src/mapi/glapi/glapi_gentable.c   | 7804 +++++++++++++++++++++++++++++++++++++
>   src/mapi/glapi/sources.mak        |    1 +
>   5 files changed, 7947 insertions(+), 2 deletions(-)
>
> Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=85937f4c0d4a78d3a11e3c1fa6148640f2a9ad7b
> _______________________________________________
> mesa-commit mailing list
> mesa-commit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Jeremy,

I'm getting a ton of warnings when glapi_gentable.c is compiled:

glapi_gentable.c: In function ‘_glapi_create_table_from_handle’:
glapi_gentable.c:52:10: warning: ISO C forbids passing argument 2 of 
‘SET_NewLis
t’ between function pointer and ‘void *’
../../../src/mesa/main/dispatch.h:2055:20: note: expected ‘void 
(*)(GLuint, GLe
num)’ but argument is of type ‘void *’
glapi_gentable.c:58:10: warning: ISO C forbids passing argument 2 of 
‘SET_EndLis
t’ between function pointer and ‘void *’
../../../src/mesa/main/dispatch.h:2066:20: note: expected ‘void 
(*)(void)’ but a
rgument is of type ‘void *’
glapi_gentable.c:64:10: warning: ISO C forbids passing argument 2 of 
‘SET_CallLi
st’ between function pointer and ‘void *’
../../../src/mesa/main/dispatch.h:2077:20: note: expected ‘void 
(*)(GLuint)’ but
argument is of type ‘void *’
glapi_gentable.c:70:10: warning: ISO C forbids passing argument 2 of 
‘SET_CallLi
sts’ between function pointer and ‘void *’
../../../src/mesa/main/dispatch.h:2088:20: note: expected ‘void 
(*)(GLsizei, GL
enum, const GLvoid *)’ but argument is of type ‘void *’
glapi_gentable.c:76:10: warning: ISO C forbids passing argument 2 of 
‘SET_Delete
Lists’ between function pointer and ‘void *’
../../../src/mesa/main/dispatch.h:2099:20: note: expected ‘void 
(*)(GLuint, GLs
izei)’ but argument is of type ‘void *’


I think the generator needs to insert some casts to pass the right 
function pointer type rather than void *.

-Brian



More information about the mesa-dev mailing list