GLX: More clearly document the GLX protocol version handling
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
45f447dafd
commit
4c6bfa2c09
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue