mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 21:10:12 +01:00
glx: Fix build errors with --enable-mangling (v2)
Rearranged the GLX_ALIAS macro in glextensions.h so that it will pick up
the renames from glx_mangle.h.
Fixed the alias attribute for glXGetProcAddress when USE_MGL_NAMESPACE is
defined.
v2: Add a comment clarifying why GLX_ALIAS needs two macros.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55552
Signed-off-by: Kyle Brenneman <kbrenneman@nvidia.com>
Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
(cherry picked from commit a27f2d991b)
This commit is contained in:
parent
dca86265a2
commit
b2a04cfcc2
2 changed files with 12 additions and 2 deletions
|
|
@ -2646,7 +2646,11 @@ _X_EXPORT void (*glXGetProcAddressARB(const GLubyte * procName)) (void)
|
|||
*/
|
||||
_X_EXPORT void (*glXGetProcAddress(const GLubyte * procName)) (void)
|
||||
#if defined(__GNUC__) && !defined(GLX_ALIAS_UNSUPPORTED)
|
||||
# if defined(USE_MGL_NAMESPACE)
|
||||
__attribute__ ((alias("mglXGetProcAddressARB")));
|
||||
# else
|
||||
__attribute__ ((alias("glXGetProcAddressARB")));
|
||||
# endif
|
||||
#else
|
||||
{
|
||||
return glXGetProcAddressARB(procName);
|
||||
|
|
|
|||
|
|
@ -281,11 +281,17 @@ typedef void (*PFNGLXDISABLEEXTENSIONPROC) (const char *name);
|
|||
# define GLX_ALIAS_VOID(real_func, proto_args, args, aliased_func)
|
||||
#else
|
||||
# if defined(__GNUC__) && !defined(GLX_ALIAS_UNSUPPORTED)
|
||||
# define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
|
||||
/* GLX_ALIAS and GLX_ALIAS_VOID both expand to the macro GLX_ALIAS2. Using the
|
||||
* extra expansion means that the name mangling macros in glx_mangle.h will
|
||||
* apply before stringification, so the alias attribute will have a string like
|
||||
* "mglXFoo" instead of "glXFoo". */
|
||||
# define GLX_ALIAS2(return_type, real_func, proto_args, args, aliased_func) \
|
||||
return_type real_func proto_args \
|
||||
__attribute__ ((alias( # aliased_func ) ));
|
||||
# define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
|
||||
GLX_ALIAS2(return_type, real_func, proto_args, args, aliased_func)
|
||||
# define GLX_ALIAS_VOID(real_func, proto_args, args, aliased_func) \
|
||||
GLX_ALIAS(void, real_func, proto_args, args, aliased_func)
|
||||
GLX_ALIAS2(void, real_func, proto_args, args, aliased_func)
|
||||
# else
|
||||
# define GLX_ALIAS(return_type, real_func, proto_args, args, aliased_func) \
|
||||
return_type real_func proto_args \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue