Because double underscores in private type names is painful.
};
struct dri2_screen {
- __GLXscreenConfigs base;
+ struct glx_screen base;
__DRIscreen *driScreen;
__GLXDRIscreen vtable;
}
static __GLXcontext *
-dri2_create_context(__GLXscreenConfigs *base,
+dri2_create_context(struct glx_screen *base,
struct glx_config *config_base,
GLXContext shareList, int renderType)
{
}
static __GLXDRIdrawable *
-dri2CreateDrawable(__GLXscreenConfigs *base, XID xDrawable,
+dri2CreateDrawable(struct glx_screen *base, XID xDrawable,
GLXDrawable drawable, struct glx_config *config_base)
{
struct dri2_drawable *pdraw;
#ifdef X_DRI2GetMSC
static int
-dri2DrawableGetMSC(__GLXscreenConfigs *psc, __GLXDRIdrawable *pdraw,
+dri2DrawableGetMSC(struct glx_screen *psc, __GLXDRIdrawable *pdraw,
int64_t *ust, int64_t *msc, int64_t *sbc)
{
CARD64 dri2_ust, dri2_msc, dri2_sbc;
static void
-dri2DestroyScreen(__GLXscreenConfigs *base)
+dri2DestroyScreen(struct glx_screen *base)
{
struct dri2_screen *psc = (struct dri2_screen *) base;
dri2_create_context
};
-static __GLXscreenConfigs *
+static struct glx_screen *
dri2CreateScreen(int screen, __GLXdisplayPrivate * priv)
{
const __DRIconfig **driver_configs;
struct dri_screen
{
- __GLXscreenConfigs base;
+ struct glx_screen base;
__DRIscreen *driScreen;
__GLXDRIscreen vtable;
int i;
int x_off, y_off;
__GLXDRIdrawable *glxDraw = loaderPrivate;
- __GLXscreenConfigs *psc = glxDraw->psc;
+ struct glx_screen *psc = glxDraw->psc;
Display *dpy = psc->dpy;
Drawable drawable;
void *loaderPrivate)
{
__GLXDRIdrawable *glxDraw = loaderPrivate;
- __GLXscreenConfigs *psc = glxDraw->psc;
+ struct glx_screen *psc = glxDraw->psc;
Display *dpy = psc->dpy;
return XF86DRIGetDrawableInfo(dpy, psc->scr, glxDraw->drawable,
};
static __GLXcontext *
-dri_create_context(__GLXscreenConfigs *base,
+dri_create_context(struct glx_screen *base,
struct glx_config *config_base,
GLXContext shareList, int renderType)
{
}
static __GLXDRIdrawable *
-driCreateDrawable(__GLXscreenConfigs *base,
+driCreateDrawable(struct glx_screen *base,
XID xDrawable,
GLXDrawable drawable, struct glx_config *config_base)
{
}
static void
-driDestroyScreen(__GLXscreenConfigs *base)
+driDestroyScreen(struct glx_screen *base)
{
struct dri_screen *psc = (struct dri_screen *) base;
#ifdef __DRI_SWAP_BUFFER_COUNTER
static int
-driDrawableGetMSC(__GLXscreenConfigs *base, __GLXDRIdrawable *pdraw,
+driDrawableGetMSC(struct glx_screen *base, __GLXDRIdrawable *pdraw,
int64_t *ust, int64_t *msc, int64_t *sbc)
{
struct dri_screen *psc = (struct dri_screen *) base;
dri_create_context
};
-static __GLXscreenConfigs *
+static struct glx_screen *
driCreateScreen(int screen, __GLXdisplayPrivate *priv)
{
struct dri_display *pdp;
struct drisw_screen
{
- __GLXscreenConfigs base;
+ struct glx_screen base;
__DRIscreen *driScreen;
__GLXDRIscreen vtable;
};
static __GLXcontext *
-drisw_create_context(__GLXscreenConfigs *base,
+drisw_create_context(struct glx_screen *base,
struct glx_config *config_base,
GLXContext shareList, int renderType)
{
}
static __GLXDRIdrawable *
-driCreateDrawable(__GLXscreenConfigs *base, XID xDrawable,
+driCreateDrawable(struct glx_screen *base, XID xDrawable,
GLXDrawable drawable, struct glx_config *modes)
{
struct drisw_drawable *pdp;
}
static void
-driDestroyScreen(__GLXscreenConfigs *base)
+driDestroyScreen(struct glx_screen *base)
{
struct drisw_screen *psc = (struct drisw_screen *) base;
drisw_create_context
};
-static __GLXscreenConfigs *
+static struct glx_screen *
driCreateScreen(int screen, __GLXdisplayPrivate *priv)
{
__GLXDRIscreen *psp;
{
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
__GLXDRIdrawable *pdraw;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
- psc = priv->screenConfigs[config->screen];
+ psc = priv->screens[config->screen];
if (psc->driScreen == NULL)
return;
#define __GLX_MAX_TEXTURE_UNITS 32
-typedef struct __GLXscreenConfigsRec __GLXscreenConfigs;
typedef struct __GLXcontextRec __GLXcontext;
typedef struct __GLXdrawableRec __GLXdrawable;
typedef struct __GLXdisplayPrivateRec __GLXdisplayPrivate;
*/
void (*destroyDisplay) (__GLXDRIdisplay * display);
- __GLXscreenConfigs *(*createScreen)(int screen, __GLXdisplayPrivate * priv);
+ struct glx_screen *(*createScreen)(int screen, __GLXdisplayPrivate * priv);
};
struct __GLXDRIscreenRec {
- void (*destroyScreen)(__GLXscreenConfigs *psc);
+ void (*destroyScreen)(struct glx_screen *psc);
- __GLXcontext *(*createContext)(__GLXscreenConfigs *psc,
+ __GLXcontext *(*createContext)(struct glx_screen *psc,
struct glx_config *config,
GLXContext shareList, int renderType);
- __GLXDRIdrawable *(*createDrawable)(__GLXscreenConfigs *psc,
+ __GLXDRIdrawable *(*createDrawable)(struct glx_screen *psc,
XID drawable,
GLXDrawable glxDrawable,
struct glx_config *config);
int64_t divisor, int64_t remainder);
void (*copySubBuffer)(__GLXDRIdrawable *pdraw,
int x, int y, int width, int height);
- int (*getDrawableMSC)(__GLXscreenConfigs *psc, __GLXDRIdrawable *pdraw,
+ int (*getDrawableMSC)(struct glx_screen *psc, __GLXDRIdrawable *pdraw,
int64_t *ust, int64_t *msc, int64_t *sbc);
int (*waitForMSC)(__GLXDRIdrawable *pdraw, int64_t target_msc,
int64_t divisor, int64_t remainder, int64_t *ust,
XID xDrawable;
XID drawable;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
GLenum textureTarget;
GLenum textureFormat; /* EXT_texture_from_pixmap support */
unsigned long eventMask;
* Screen number.
*/
GLint screen;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
/**
* \c GL_TRUE if the context was created with ImportContext, which
extern Bool
glx_context_init(__GLXcontext *gc,
- __GLXscreenConfigs *psc, struct glx_config *fbconfig);
+ struct glx_screen *psc, struct glx_config *fbconfig);
#define __glXSetError(gc,code) \
if (!(gc)->error) { \
* a pointer to the config data for that screen (if the screen supports GL).
*/
struct glx_screen_vtable {
- __GLXcontext *(*create_context)(__GLXscreenConfigs *psc,
+ __GLXcontext *(*create_context)(struct glx_screen *psc,
struct glx_config *config,
GLXContext shareList, int renderType);
};
-struct __GLXscreenConfigsRec
+struct glx_screen
{
const struct glx_screen_vtable *vtable;
* Per-screen dynamic GLX extension tracking. The \c direct_support
* field only contains enough bits for 64 extensions. Should libGL
* ever need to track more than 64 GLX extensions, we can safely grow
- * this field. The \c __GLXscreenConfigs structure is not used outside
+ * this field. The \c struct glx_screen structure is not used outside
* libGL.
*/
/*@{ */
* Also, per screen data which now includes the server \c GLX_EXTENSION
* string.
*/
- __GLXscreenConfigs **screenConfigs;
+ struct glx_screen **screens;
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
__glxHashTable *drawHash;
};
extern int
-glx_screen_init(__GLXscreenConfigs *psc,
+glx_screen_init(struct glx_screen *psc,
int screen, __GLXdisplayPrivate * priv);
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
XExtDisplayInfo *__glXFindDisplay (Display *dpy);
extern void
-GarbageCollectDRIDrawables(__GLXscreenConfigs *psc);
+GarbageCollectDRIDrawables(struct glx_screen *psc);
extern __GLXDRIdrawable *
GetGLXDRIDrawable(Display *dpy, GLXDrawable drawable);
#endif
-extern __GLXscreenConfigs *
+extern struct glx_screen *
indirect_create_screen(int screen, __GLXdisplayPrivate * priv);
#endif /* !__GLX_client_h__ */
* \param screen Screen number to destroy drawables for
*/
_X_HIDDEN void
-GarbageCollectDRIDrawables(__GLXscreenConfigs * sc)
+GarbageCollectDRIDrawables(struct glx_screen * sc)
{
XID draw;
__GLXDRIdrawable *pdraw;
* number range for \c dpy?
*/
-static __GLXscreenConfigs *
+static struct glx_screen *
GetGLXScreenConfigs(Display * dpy, int scrn)
{
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
return (priv
- && priv->screenConfigs !=
- NULL) ? priv->screenConfigs[scrn] : NULL;
+ && priv->screens !=
+ NULL) ? priv->screens[scrn] : NULL;
}
static int
GetGLXPrivScreenConfig(Display * dpy, int scrn, __GLXdisplayPrivate ** ppriv,
- __GLXscreenConfigs ** ppsc)
+ struct glx_screen ** ppsc)
{
/* Initialize the extension, if needed . This has the added value
* of initializing/allocating the display private
}
/* Check to see if the GL is supported on this screen */
- *ppsc = (*ppriv)->screenConfigs[scrn];
+ *ppsc = (*ppriv)->screens[scrn];
if ((*ppsc)->configs == NULL) {
/* No support for GL on this screen regardless of visual */
return GLX_BAD_VISUAL;
if (priv != NULL) {
for (i = 0; i < num_screens; i++) {
- for (config = priv->screenConfigs[i]->configs; config != NULL;
+ for (config = priv->screens[i]->configs; config != NULL;
config = config->next) {
if (config == (struct glx_config *) fbconfig) {
return config;
static const struct glx_context_vtable applegl_context_vtable;
static __GLcontext *
-applegl_create_context(__GLXscreenConfigs *psc,
+applegl_create_context(struct glx_screen *psc,
struct glx_config *mode,
GLXContext shareList, int renderType)
{
* does all the initialization (including the pixel pack / unpack).
*/
static GLXContext
-indirect_create_context(__GLXscreenConfigs *psc,
+indirect_create_context(struct glx_screen *psc,
struct glx_config *mode,
GLXContext shareList, int renderType)
{
indirect_create_context
};
-_X_HIDDEN __GLXscreenConfigs *
+_X_HIDDEN struct glx_screen *
indirect_create_screen(int screen, __GLXdisplayPrivate * priv)
{
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
psc = Xmalloc(sizeof *psc);
if (psc == NULL)
_X_HIDDEN Bool
glx_context_init(__GLXcontext *gc,
- __GLXscreenConfigs *psc, struct glx_config *config)
+ struct glx_screen *psc, struct glx_config *config)
{
gc->majorOpcode = __glXSetupForCommand(psc->display->dpy);
if (!gc->majorOpcode)
unsigned code, int renderType, int screen)
{
GLXContext gc = NULL;
- __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);
+ struct glx_screen *const psc = GetGLXScreenConfigs(dpy, screen);
if (dpy == NULL)
return NULL;
int renderType = 0;
#if defined(GLX_DIRECT_RENDERING) || defined(GLX_USE_APPLEGL)
- __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, vis->screen);
+ struct glx_screen *const psc = GetGLXScreenConfigs(dpy, vis->screen);
config = glx_config_find_visual(psc->visuals, vis->visualid);
if (config == NULL) {
{
#ifdef GLX_USE_APPLEGL
int screen = vis->screen;
- __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);
+ struct glx_screen *const psc = GetGLXScreenConfigs(dpy, screen);
const struct glx_config *config;
config = _gl_context_modes_find_visual(psc->visuals, vis->visualid);
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
__GLXDRIdrawable *pdraw;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
struct glx_config *config;
- psc = priv->screenConfigs[vis->screen];
+ psc = priv->screens[vis->screen];
if (psc->driScreen == NULL)
break;
config = glx_config_find_visual(psc->visuals, vis->visualid);
int *value_return)
{
__GLXdisplayPrivate *priv;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
struct glx_config *config;
int status;
{
XVisualInfo *visualList = NULL;
__GLXdisplayPrivate *priv;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
struct glx_config test_config;
struct glx_config *config;
struct glx_config *best_config = NULL;
_X_EXPORT const char *
glXQueryExtensionsString(Display * dpy, int screen)
{
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
__GLXdisplayPrivate *priv;
if (GetGLXPrivScreenConfig(dpy, screen, &priv, &psc) != Success) {
_X_EXPORT const char *
glXQueryServerString(Display * dpy, int screen, int name)
{
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
__GLXdisplayPrivate *priv;
const char **str;
glXImportContextEXT(Display *dpy, GLXContextID contextID)
{
__GLXdisplayPrivate *priv = __glXInitialize(dpy);
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
xGLXQueryContextReply reply;
CARD8 opcode;
GLXContext ctx;
int i;
*nelements = 0;
- if (priv && (priv->screenConfigs != NULL)
+ if (priv && (priv->screens != NULL)
&& (screen >= 0) && (screen <= ScreenCount(dpy))
- && (priv->screenConfigs[screen]->configs != NULL)
- && (priv->screenConfigs[screen]->configs->fbconfigID
+ && (priv->screens[screen]->configs != NULL)
+ && (priv->screens[screen]->configs->fbconfigID
!= (int) GLX_DONT_CARE)) {
- for (config = priv->screenConfigs[screen]->configs; config != NULL;
+ for (config = priv->screens[screen]->configs; config != NULL;
config = config->next) {
if (config->fbconfigID != (int) GLX_DONT_CARE) {
num_configs++;
if (config_list != NULL) {
*nelements = num_configs;
i = 0;
- for (config = priv->screenConfigs[screen]->configs; config != NULL;
+ for (config = priv->screens[screen]->configs; config != NULL;
config = config->next) {
if (config->fbconfigID != (int) GLX_DONT_CARE) {
config_list[i] = config;
{
xGLXVendorPrivateReq *req;
GLXContext gc = __glXGetCurrentContext();
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
Display *dpy;
CARD32 *interval_ptr;
CARD8 opcode;
GLXContext gc = __glXGetCurrentContext();
if (gc != NULL && gc->driContext) {
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
psc = GetGLXScreenConfigs( gc->currentDpy, gc->screen);
if (psc->driScreen && psc->driScreen->setSwapInterval) {
GLXContext gc = __glXGetCurrentContext();
if (gc != NULL && gc->driContext) {
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
psc = GetGLXScreenConfigs( gc->currentDpy, gc->screen);
if (psc->driScreen && psc->driScreen->getSwapInterval) {
int64_t ust, msc, sbc;
int ret;
GLXContext gc = __glXGetCurrentContext();
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw;
#endif
__glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count)
{
GLXContext gc = __glXGetCurrentContext();
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw;
#endif
xGLXCreateGLXPixmapWithConfigSGIXReq *req;
GLXPixmap xid = None;
CARD8 opcode;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
#endif
struct glx_config *config = (struct glx_config *) fbconfig;
{
GLXContext gc = NULL;
struct glx_config *config = (struct glx_config *) fbconfig;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
if ((dpy == NULL) || (config == NULL)) {
glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * vis)
{
__GLXdisplayPrivate *priv;
- __GLXscreenConfigs *psc = NULL;
+ struct glx_screen *psc = NULL;
if ((GetGLXPrivScreenConfig(dpy, vis->screen, &priv, &psc) != Success)
&& __glXExtensionBitIsEnabled(psc, SGIX_fbconfig_bit)
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw;
#endif
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
if (!priv)
return False;
int32_t * numerator, int32_t * denominator)
{
#ifdef XF86VIDMODE
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
XF86VidModeModeLine mode_line;
int dot_clock;
int i;
GLXContext gc = __glXGetCurrentContext();
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable);
- __GLXscreenConfigs *psc = pdraw ? pdraw->psc : NULL;
+ struct glx_screen *psc = pdraw ? pdraw->psc : NULL;
#endif
if (!gc) /* no GLX for this */
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable);
#endif
- __GLXscreenConfigs *psc = pdraw ? pdraw->psc : NULL;
+ struct glx_screen *psc = pdraw ? pdraw->psc : NULL;
int ret;
#ifdef GLX_DIRECT_RENDERING
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable);
#endif
- __GLXscreenConfigs *psc = pdraw ? pdraw->psc : NULL;
+ struct glx_screen *psc = pdraw ? pdraw->psc : NULL;
int ret;
/* The OML_sync_control spec says this should "generate a GLX_BAD_VALUE
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
__GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable);
if (pdraw != NULL) {
- __GLXscreenConfigs *psc = pdraw->psc;
+ struct glx_screen *psc = pdraw->psc;
if (psc->driScreen->copySubBuffer != NULL) {
glFlush();
(*psc->driScreen->copySubBuffer) (pdraw, x, y, width, height);
{
__GLXdisplayPrivate *const priv = __glXInitialize(dpy);
__GLXDRIdrawable *pdraw;
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
if (priv == NULL)
return NULL;
- psc = priv->screenConfigs[gc->screen];
+ psc = priv->screens[gc->screen];
if (priv->drawHash == NULL)
return NULL;
static void
FreeScreenConfigs(__GLXdisplayPrivate * priv)
{
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
GLint i, screens;
/* Free screen configuration information */
screens = ScreenCount(priv->dpy);
for (i = 0; i < screens; i++) {
- psc = priv->screenConfigs[i];
+ psc = priv->screens[i];
if (psc->configs) {
glx_config_destroy_list(psc->configs);
if (psc->effectiveGLXexts)
Xfree(psc);
#endif
}
- XFree((char *) priv->screenConfigs);
- priv->screenConfigs = NULL;
+ XFree((char *) priv->screens);
+ priv->screens = NULL;
}
/*
}
static GLboolean
-getVisualConfigs(__GLXscreenConfigs *psc,
+getVisualConfigs(struct glx_screen *psc,
__GLXdisplayPrivate *priv, int screen)
{
xGLXGetVisualConfigsReq *req;
}
static GLboolean
-getFBConfigs(__GLXscreenConfigs *psc, __GLXdisplayPrivate *priv, int screen)
+getFBConfigs(struct glx_screen *psc, __GLXdisplayPrivate *priv, int screen)
{
xGLXGetFBConfigsReq *fb_req;
xGLXGetFBConfigsSGIXReq *sgi_req;
}
_X_HIDDEN Bool
-glx_screen_init(__GLXscreenConfigs *psc,
+glx_screen_init(struct glx_screen *psc,
int screen, __GLXdisplayPrivate * priv)
{
/* Initialize per screen dynamic client GLX extensions */
static Bool
AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)
{
- __GLXscreenConfigs *psc;
+ struct glx_screen *psc;
GLint i, screens;
/*
** First allocate memory for the array of per screen configs.
*/
screens = ScreenCount(dpy);
- priv->screenConfigs = Xmalloc(screens * sizeof *priv->screenConfigs);
- if (!priv->screenConfigs)
+ priv->screens = Xmalloc(screens * sizeof *priv->screens);
+ if (!priv->screens)
return GL_FALSE;
priv->serverGLXversion =
#endif
if (psc == NULL)
psc = indirect_create_screen(i, priv);
- priv->screenConfigs[i] = psc;
+ priv->screens[i] = psc;
}
SyncHandle();
return GL_TRUE;
static const char *__glXGLXClientExtensions = NULL;
static void __glXExtensionsCtr(void);
-static void __glXExtensionsCtrScreen(__GLXscreenConfigs * psc);
+static void __glXExtensionsCtrScreen(struct glx_screen * psc);
static void __glXProcessServerString(const struct extension_info *ext,
const char *server_string,
unsigned char *server_support);
}
void
-__glXEnableDirectExtension(__GLXscreenConfigs * psc, const char *name)
+__glXEnableDirectExtension(struct glx_screen * psc, const char *name)
{
__glXExtensionsCtr();
__glXExtensionsCtrScreen(psc);
*/
static void
-__glXExtensionsCtrScreen(__GLXscreenConfigs * psc)
+__glXExtensionsCtrScreen(struct glx_screen * psc)
{
if (psc->ext_list_first_time) {
psc->ext_list_first_time = GL_FALSE;
* \c NULL, then \c GL_FALSE is returned.
*/
GLboolean
-__glXExtensionBitIsEnabled(__GLXscreenConfigs * psc, unsigned bit)
+__glXExtensionBitIsEnabled(struct glx_screen * psc, unsigned bit)
{
GLboolean enabled = GL_FALSE;
*/
void
-__glXCalculateUsableExtensions(__GLXscreenConfigs * psc,
+__glXCalculateUsableExtensions(struct glx_screen * psc,
GLboolean display_is_direct_capable,
int minor_version)
{
#define __GL_EXT_BYTES ((__NUM_GL_EXTS + 7) / 8)
-struct __GLXscreenConfigsRec;
+struct glx_screen;
struct __GLXcontextRec;
-extern GLboolean __glXExtensionBitIsEnabled(struct __GLXscreenConfigsRec *psc,
+extern GLboolean __glXExtensionBitIsEnabled(struct glx_screen *psc,
unsigned bit);
extern const char *__glXGetClientExtensions(void);
-extern void __glXCalculateUsableExtensions(struct __GLXscreenConfigsRec *psc,
+extern void __glXCalculateUsableExtensions(struct glx_screen *psc,
GLboolean
display_is_direct_capable,
int server_minor_version);
unsigned bit);
extern void
-__glXEnableDirectExtension(struct __GLXscreenConfigsRec *psc,
- const char *name);
+__glXEnableDirectExtension(struct glx_screen *psc, const char *name);
/* Source-level backwards compatibility with old drivers. They won't
* find the respective functions, though.