On Wed, Jul 25, 2012 at 01:39:43PM +1000, Dave Airlie wrote: > From: Dave Airlie <[email protected]> > > We've had reports of two copies of the GLX bits, one in the server > and one in libglx.so causing problems, I didn't understand why the > X server needed a copy so drop it, however then we have to fix a missing > GlxExtensionInit that comes from sdksyms, so work around it by moving > that one declaration into a header that sdksyms doesn't scan. > > Thanks to Jon Turney for debugging the actual problem. > > I've started a server with this patch and it works here, but so did > the one with the bug in it. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52402 > Signed-off-by: Dave Airlie <[email protected]>
Tested-by: Peter Hutterer <[email protected]> Cheers, Peter > --- > configure.ac | 2 +- > glx/glxext.c | 1 + > hw/dmx/glxProxy/glxext.c | 1 + > hw/xfree86/dixmods/glxmodule.c | 1 + > hw/xwin/InitOutput.c | 1 + > include/extinit.h | 1 - > include/glx_extinit.h | 9 +++++++++ > 7 files changed, 14 insertions(+), 2 deletions(-) > create mode 100644 include/glx_extinit.h > > diff --git a/configure.ac b/configure.ac > index bf6868e..78aeb34 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -1600,7 +1600,7 @@ if test "x$XORG" = xyes; then > XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support > -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' > XORG_INCS="$XORG_DDXINCS $XORG_OSINCS" > XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H" > - XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB > $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB > $MIEXT_DAMAGE_LIB $XI_LIB $XKB_LIB" > + XORG_LIBS="$COMPOSITE_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB > $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $XI_LIB > $XKB_LIB" > > dnl ================================================================== > dnl symbol visibility > diff --git a/glx/glxext.c b/glx/glxext.c > index 70f0df8..bc7fe82 100644 > --- a/glx/glxext.c > +++ b/glx/glxext.c > @@ -40,6 +40,7 @@ > #include "privates.h" > #include <os.h> > #include "extinit.h" > +#include "glx_extinit.h" > #include "unpack.h" > #include "glxutil.h" > #include "glxext.h" > diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c > index 8122221..e72a040 100644 > --- a/hw/dmx/glxProxy/glxext.c > +++ b/hw/dmx/glxProxy/glxext.c > @@ -45,6 +45,7 @@ > #include "micmap.h" > #include "glxswap.h" > #include "extinit.h" > +#include "glx_extinit.h" > > /* > ** Forward declarations. > diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c > index 5a9e845..c0c6114 100644 > --- a/hw/xfree86/dixmods/glxmodule.c > +++ b/hw/xfree86/dixmods/glxmodule.c > @@ -43,6 +43,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. > #include "globals.h" > #include "glxserver.h" > #include "extinit.h" > +#include "glx_extinit.h" > > static MODULESETUPPROTO(glxSetup); > > diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c > index 538b2e1..37cd8b3 100644 > --- a/hw/xwin/InitOutput.c > +++ b/hw/xwin/InitOutput.c > @@ -55,6 +55,7 @@ typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND > hwndOwner, > DWORD dwFlags, LPTSTR pszPath); > #endif > > +#include "glx_extinit.h" > /* > * References to external symbols > */ > diff --git a/include/extinit.h b/include/extinit.h > index 6c5337f..7f4718f 100644 > --- a/include/extinit.h > +++ b/include/extinit.h > @@ -83,7 +83,6 @@ extern void GEExtensionInit(void); > > #ifdef GLXEXT > extern _X_EXPORT Bool noGlxExtension; > -extern void GlxExtensionInit(void); > #endif > > #ifdef PANORAMIX > diff --git a/include/glx_extinit.h b/include/glx_extinit.h > new file mode 100644 > index 0000000..eef55eb > --- /dev/null > +++ b/include/glx_extinit.h > @@ -0,0 +1,9 @@ > +#ifndef GLX_EXT_INIT_H > +#define GLX_EXT_INIT_H > + > +/* this is separate due to sdksyms pulling in extinit.h */ > +#ifdef GLXEXT > +extern void GlxExtensionInit(void); > +#endif > + > +#endif > -- > 1.7.11.2 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
