[PATCH 19/37] glx: Attempting to hide the GL stubs just makes the compiler angry
Ian Romanick
idr at freedesktop.org
Mon Nov 18 13:38:08 PST 2013
On 11/17/2013 12:01 AM, Keith Packard wrote:
> Adding _X_HIDDEN doesn't actually maange to hide these functions as
> the compiler refuses to change the visibility from what was declared
> in gl.h
>
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
> glx/glxstubs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/glx/glxstubs.c b/glx/glxstubs.c
> index 69bc004..99f1cba 100644
> --- a/glx/glxstubs.c
> +++ b/glx/glxstubs.c
> @@ -34,7 +34,7 @@
> #include "glxserver.h"
>
> #define thunk(name, type, call_args, ...) \
> - _X_HIDDEN void name(__VA_ARGS__) { \
> + GLAPI void APIENTRY name(__VA_ARGS__) { \
> static type proc; \
> if (!proc) proc = __glGetProcAddress(#name); \
> proc call_args; \
>
Yeah.... this can't work reliably and is generally yucky. I'm curious
why Adam didn't just use the GLEW trick of having a #define glFoo that
calls through a function pointer _glewFoo. I think Waffle does
something similar... but is much more clever than GLEW by avoiding the
need for a glewInit function.
More information about the xorg-devel
mailing list