On Thu, Oct 01, 2009 at 10:45:16AM -0700, Ian Romanick wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > --- > glx/glxcmds.c | 1 - > glx/glxdri2.c | 6 ++---- > glx/glxscreens.c | 12 ++++++++++-- > glx/glxscreens.h | 9 +++++++++ > include/protocol-versions.h | 2 +- > 5 files changed, 22 insertions(+), 8 deletions(-) > > diff --git a/glx/glxcmds.c b/glx/glxcmds.c > index 30c25a9..ba4c123 100644 > --- a/glx/glxcmds.c > +++ b/glx/glxcmds.c > @@ -50,7 +50,6 @@ > #include "indirect_dispatch.h" > #include "indirect_table.h" > #include "indirect_util.h" > -#include "protocol-versions.h" > > static int > validGlxScreen(ClientPtr client, int screen, __GLXscreen **pGlxScreen, int > *err) > diff --git a/glx/glxdri2.c b/glx/glxdri2.c > index 82568e6..ed7dc80 100644 > --- a/glx/glxdri2.c > +++ b/glx/glxdri2.c > @@ -685,10 +685,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen) > screen->base.GLXextensions); > } > > - /* We know that the X server supports the protocol for at least GLX 1.4. > - * When a new version of GLX is created, we'll have to revisit this. > We're > - * also going to assume (perhaps incorrectly?) that all DRI2-enabled > - * drivers support the required extension for GLX 1.3. The extensions > + /* We're going to assume (perhaps incorrectly?) that all DRI2-enabled > + * drivers support the required extensions for GLX 1.4. The extensions > * we're assuming are: > * > * - GLX_SGI_make_current_read (1.3) > diff --git a/glx/glxscreens.c b/glx/glxscreens.c > index 6ce24b2..674e2c6 100644 > --- a/glx/glxscreens.c > +++ b/glx/glxscreens.c > @@ -42,6 +42,7 @@ > #include "glxserver.h" > #include "glxutil.h" > #include "glxext.h" > +#include "protocol-versions.h" > > static int glxScreenPrivateKeyIndex; > static DevPrivateKey glxScreenPrivateKey = &glxScreenPrivateKeyIndex; > @@ -162,8 +163,8 @@ static const char GLServerExtensions[] = > ** supported across all screens in a multi-screen system. > */ > static char GLXServerVendorName[] = "SGI"; > -unsigned glxMajorVersion = 1; > -unsigned glxMinorVersion = 4; > +unsigned glxMajorVersion = SERVER_GLX_MAJOR_VERSION; > +unsigned glxMinorVersion = SERVER_GLX_MINOR_VERSION; > static char GLXServerExtensions[] = > "GLX_ARB_multisample " > "GLX_EXT_visual_info " > @@ -380,6 +381,13 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr > pScreen) > pGlxScreen->GLextensions = xstrdup(GLServerExtensions); > pGlxScreen->GLXvendor = xstrdup(GLXServerVendorName); > pGlxScreen->GLXextensions = xstrdup(GLXServerExtensions); > + > + /* All GLX providers must support all of the functionality required for > at > + * least GLX 1.2. If the provider supports a higher version, the > GLXminor > + * version can be changed in the provider's screen-probe routine. For > + * most providers, the screen-probe routine is the caller of this > + * function. > + */ > pGlxScreen->GLXmajor = 1; > pGlxScreen->GLXminor = 2; > > diff --git a/glx/glxscreens.h b/glx/glxscreens.h > index 2d696d2..bff4363 100644 > --- a/glx/glxscreens.h > +++ b/glx/glxscreens.h > @@ -160,8 +160,17 @@ struct __GLXscreen { > char *GLXvendor; > char *GLXversion; > char *GLXextensions; > + > + /** > + * \name GLX version supported by this screen. > + * > + * Since the GLX version advertised by the server is for the whole > server, > + * the GLX protocol code uses the minimum version supported on all > screens. > + */ > + /*...@{*/ > unsigned GLXmajor; > unsigned GLXminor; > + /*...@}*/ > > Bool (*CloseScreen)(int index, ScreenPtr pScreen); > Bool (*DestroyWindow)(WindowPtr pWindow); > diff --git a/include/protocol-versions.h b/include/protocol-versions.h > index da9770c..d688c66 100644 > --- a/include/protocol-versions.h > +++ b/include/protocol-versions.h > @@ -61,7 +61,7 @@ > > /* GLX */ > #define SERVER_GLX_MAJOR_VERSION 1 > -#define SERVER_GLX_MINOR_VERSION 2 > +#define SERVER_GLX_MINOR_VERSION 4 > > /* Xinerama */ > #define SERVER_PANORAMIX_MAJOR_VERSION 1 > -- > 1.6.4.3 Acked-by: Peter Hutterer <peter.hutte...@who-t.net>
Cheers, Peter _______________________________________________ xorg-devel mailing list xorg-devel@lists.x.org http://lists.x.org/mailman/listinfo/xorg-devel