Bug 2909

Summary: glx.h and glxext.h broken for GLX 1.3 and 1.4 function pointers
Product: Mesa Reporter: Ian Romanick <idr>
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Ian Romanick 2005-04-05 14:12:55 UTC
I finally decided to track down something that has bothered me for years
(witness the comments in glxgears_fbconfig.c).  The function pointer typedefs
(the PFNGLX*PROC typedefs) for core GLX 1.3 and 1.4 in GL/glxext.h are never
available.  They exist in the file, but application source code can never access it.

I tracked this down to the fact that GLX_VERSION_1_3 and GLX_VERSION_1_4 are
defined in GL/glx.h.  This causes all of the function prototypes, defines, and
typedefs in GL/glxext.h to be skipped.  Since we'd like code to be
source-portable from other GLX systems, this seems wrong.

Just removing the #defines from GL/glx.h replaced this problem with other
compile-time problems.

I believe the correct solution is to follow the model of GL/gl.h and GL/glext.h.
 That is, don't put any "new" features in GL/glx.h that are in GL/glxext.h.  I
can make this change if people think this is the right way to go.
Comment 1 Brian Paul 2005-04-06 15:45:08 UTC
Feel free to fix this up.  Another issue is Mesa's glx.h is different from the
X/DRI glx.h (the later comes from the SGI GLX project).  We should try to unify
those too.
Comment 2 Ian Romanick 2009-04-07 18:45:07 UTC
This was fixed eons ago by putting the function pointer typedefs in glx.h.
Comment 3 Adam Jackson 2009-08-24 12:23:08 UTC
Mass version move, cvs -> git

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.