summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c629
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h20
-rw-r--r--src/mesa/drivers/dri/common/glcontextmodes.c8
-rw-r--r--src/mesa/drivers/dri/common/glcontextmodes.h4
-rw-r--r--src/mesa/drivers/dri/common/utils.c61
-rw-r--r--src/mesa/drivers/dri/common/utils.h6
-rw-r--r--src/mesa/drivers/dri/common/vblank.c4
-rw-r--r--src/mesa/drivers/dri/fb/fb_dri.c4
-rw-r--r--src/mesa/drivers/dri/ffb/ffb_xmesa.c22
-rw-r--r--src/mesa/drivers/dri/ffb/server/ffb_dac.h2
-rw-r--r--src/mesa/drivers/dri/i810/i810screen.c27
-rw-r--r--src/mesa/drivers/dri/i830/i830_screen.c46
-rw-r--r--src/mesa/drivers/dri/i915/intel_screen.c57
-rw-r--r--src/mesa/drivers/dri/mach64/mach64_screen.c55
-rw-r--r--src/mesa/drivers/dri/mga/mga_xmesa.c54
-rw-r--r--src/mesa/drivers/dri/r128/r128_screen.c51
-rw-r--r--src/mesa/drivers/dri/r200/r200_screen.c66
-rw-r--r--src/mesa/drivers/dri/r300/radeon_screen.c83
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c58
-rw-r--r--src/mesa/drivers/dri/s3v/s3v_xmesa.c5
-rw-r--r--src/mesa/drivers/dri/savage/savage_xmesa.c24
-rw-r--r--src/mesa/drivers/dri/sis/sis_screen.c28
-rw-r--r--src/mesa/drivers/dri/tdfx/tdfx_screen.c24
-rw-r--r--src/mesa/drivers/dri/trident/trident_context.c13
-rw-r--r--src/mesa/drivers/dri/unichrome/via_screen.c62
25 files changed, 198 insertions, 1215 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index 0c07cc0c148..1483dc0445c 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -13,15 +13,6 @@
*
* These functions are compiled into each DRI driver so libGL.so knows nothing
* about them.
- *
- * \note
- * When \c DRI_NEW_INTERFACE_ONLY is defined, code is built / not built so
- * that only the "new" libGL-to-driver interfaces are supported. This breaks
- * backwards compatability. However, this may be necessary when DRI drivers
- * are built to be used in non-XFree86 environments.
- *
- * \todo There are still some places in the code that need to be wrapped with
- * \c DRI_NEW_INTERFACE_ONLY.
*/
@@ -35,17 +26,8 @@
#define MAP_FAILED ((void *)-1)
#endif
-#ifndef DRI_NEW_INTERFACE_ONLY
-# include <X11/Xlibint.h>
-# include <Xext.h>
-# include <extutil.h>
-# include "xf86dri.h"
-# define _mesa_malloc(b) Xmalloc(b)
-# define _mesa_free(m) Xfree(m)
-#else
-# include "imports.h"
-# define None 0
-#endif /* DRI_NEW_INTERFACE_ONLY */
+#include "imports.h"
+#define None 0
#include "dri_util.h"
#include "drm_sarea.h"
@@ -99,27 +81,6 @@ static void *driCreateNewDrawable(__DRInativeDisplay *dpy, const __GLcontextMode
static void driDestroyDrawable(__DRInativeDisplay *dpy, void *drawablePrivate);
-
-
-#ifdef not_defined
-static GLboolean driFeatureOn(const char *name)
-{
- char *env = getenv(name);
-
- if (!env) return GL_FALSE;
- if (!strcasecmp(env, "enable")) return GL_TRUE;
- if (!strcasecmp(env, "1")) return GL_TRUE;
- if (!strcasecmp(env, "on")) return GL_TRUE;
- if (!strcasecmp(env, "true")) return GL_TRUE;
- if (!strcasecmp(env, "t")) return GL_TRUE;
- if (!strcasecmp(env, "yes")) return GL_TRUE;
- if (!strcasecmp(env, "y")) return GL_TRUE;
-
- return GL_FALSE;
-}
-#endif /* not_defined */
-
-
/**
* Print message to \c stderr if the \c LIBGL_DEBUG environment variable
* is set.
@@ -142,77 +103,8 @@ __driUtilMessage(const char *f, ...)
}
}
-/*
- * fd.o bug #1713: Some rare libGL's have __glXFindDRIScreen defined but do not
- * export it via glXGetProcAddress. These are not supported anymore, so print
- * an error message to that effect. - ajax 2004-10-26
- */
typedef __DRIscreen *(*PFNGLXFINDDRISCREEN)(__DRInativeDisplay *, int);
-
-static __DRIscreen *glx_find_dri_screen(__DRInativeDisplay *d, int i)
-{
- PFNGLXFINDDRISCREEN findscreen =
- (PFNGLXFINDDRISCREEN)glXGetProcAddress("__glXFindDRIScreen");
-
- if (!findscreen)
- {
- __driUtilMessage("glXGetProcAddress(\"__glXFindDRIScreen\") failed!");
- __driUtilMessage("Your libGL is too old, please upgrade.");
- return NULL;
- }
- else return findscreen(d, i);
-}
-
-/*****************************************************************/
-/** \name Visual utility functions */
-/*****************************************************************/
-/*@{*/
-
-#ifndef DRI_NEW_INTERFACE_ONLY
-/**
- * Find a \c __GLcontextModes structure matching the given visual ID.
- *
- * \param dpy Display to search for a matching configuration.
- * \param scrn Screen number on \c dpy to be searched.
- * \param vid Desired \c VisualID to find.
- *
- * \returns A pointer to a \c __GLcontextModes structure that matches \c vid,
- * if found, or \c NULL if no match is found.
- */
-static const __GLcontextModes *
-findConfigMode(__DRInativeDisplay *dpy, int scrn, VisualID vid,
- const __DRIscreen * pDRIScreen)
-{
- if ( (pDRIScreen != NULL) && (pDRIScreen->private != NULL) ) {
- const __DRIscreenPrivate * const psp =
- (const __DRIscreenPrivate *) pDRIScreen->private;
-
- return _gl_context_modes_find_visual( psp->modes, vid );
- }
-
- return NULL;
-}
-
-
-/**
- * This function is a hack to work-around old versions of libGL.so that
- * do not export \c XF86DRICreateContextWithConfig. I would modify the
- * code to just use this function, but the stand-alone driver (i.e., DRI
- * drivers that are built to work without XFree86) shouldn't have to know
- * about X structures like a \c Visual.
- */
-static GLboolean
-fake_XF86DRICreateContextWithConfig( __DRInativeDisplay* dpy, int screen, int configID,
- XID* context, drm_context_t * hHWContext )
-{
- Visual vis;
-
- vis.visualid = configID;
- return XF86DRICreateContext( dpy, screen, & vis, context, hHWContext );
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
-/*@}*/
+static PFNGLXFINDDRISCREEN glx_find_dri_screen = NULL;
/*****************************************************************/
@@ -242,50 +134,6 @@ static __DRIdrawable *__driFindDrawable(void *drawHash, __DRIid draw)
return pdraw;
}
-#ifndef DRI_NEW_INTERFACE_ONLY
-static GLboolean __driWindowExistsFlag;
-
-static int __driWindowExistsErrorHandler(Display *dpy, XErrorEvent *xerr)
-{
- if (xerr->error_code == BadWindow) {
- __driWindowExistsFlag = GL_FALSE;
- }
- return 0;
-}
-
-/**
- * Determine if a window associated with a \c GLXDrawable exists on the
- * X-server.
- *
- * \param dpy Display associated with the drawable to be queried.
- * \param draw \c GLXDrawable to test.
- *
- * \returns \c GL_TRUE if a window exists that is associated with \c draw,
- * otherwise \c GL_FALSE is returned.
- *
- * \warning This function is not currently thread-safe.
- *
- * \deprecated
- * \c __glXWindowExists (from libGL) is prefered over this function. Starting
- * with the next major release of XFree86, this function will be removed.
- * Even now this function is no longer directly called. Instead it is called
- * via a function pointer if and only if \c __glXWindowExists does not exist.
- *
- * \sa __glXWindowExists glXGetProcAddress window_exists
- */
-static GLboolean __driWindowExists(Display *dpy, GLXDrawable draw)
-{
- XWindowAttributes xwa;
- int (*oldXErrorHandler)(Display *, XErrorEvent *);
-
- XSync(dpy, GL_FALSE);
- __driWindowExistsFlag = GL_TRUE;
- oldXErrorHandler = XSetErrorHandler(__driWindowExistsErrorHandler);
- XGetWindowAttributes(dpy, draw, &xwa); /* dummy request */
- XSetErrorHandler(oldXErrorHandler);
- return __driWindowExistsFlag;
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
/**
* Find drawables in the local hash that have been destroyed on the
@@ -341,7 +189,7 @@ static void __driGarbageCollectDrawables(void *drawHash)
* While casting the opaque private pointers associated with the parameters
* into their respective real types it also assures they are not \c NULL.
*/
-static GLboolean driUnbindContext3(__DRInativeDisplay *dpy, int scrn,
+static GLboolean driUnbindContext(__DRInativeDisplay *dpy, int scrn,
__DRIid draw, __DRIid read,
__DRIcontext *ctx)
{
@@ -355,7 +203,7 @@ static GLboolean driUnbindContext3(__DRInativeDisplay *dpy, int scrn,
/*
** Assume error checking is done properly in glXMakeCurrent before
- ** calling driUnbindContext3.
+ ** calling driUnbindContext.
*/
if (ctx == NULL || draw == None || read == None) {
@@ -363,7 +211,7 @@ static GLboolean driUnbindContext3(__DRInativeDisplay *dpy, int scrn,
return GL_FALSE;
}
- pDRIScreen = glx_find_dri_screen(dpy, scrn);
+ pDRIScreen = (*glx_find_dri_screen)(dpy, scrn);
if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
/* ERROR!!! */
return GL_FALSE;
@@ -523,7 +371,7 @@ static GLboolean DoBindContext(__DRInativeDisplay *dpy,
* for \c glXMakeCurrentReadSGI or GLX 1.3's \c glXMakeContextCurrent
* function.
*/
-static GLboolean driBindContext3(__DRInativeDisplay *dpy, int scrn,
+static GLboolean driBindContext(__DRInativeDisplay *dpy, int scrn,
__DRIid draw, __DRIid read,
__DRIcontext * ctx)
{
@@ -539,7 +387,7 @@ static GLboolean driBindContext3(__DRInativeDisplay *dpy, int scrn,
return GL_FALSE;
}
- pDRIScreen = glx_find_dri_screen(dpy, scrn);
+ pDRIScreen = (*glx_find_dri_screen)(dpy, scrn);
if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
/* ERROR!!! */
return GL_FALSE;
@@ -548,79 +396,6 @@ static GLboolean driBindContext3(__DRInativeDisplay *dpy, int scrn,
return DoBindContext( dpy, draw, read, ctx, ctx->mode,
(__DRIscreenPrivate *)pDRIScreen->private );
}
-
-
-#ifndef DRI_NEW_INTERFACE_ONLY
-/**
- * This function takes both a read buffer and a draw buffer. This is needed
- * for \c glXMakeCurrentReadSGI or GLX 1.3's \c glXMakeContextCurrent
- * function.
- */
-static GLboolean driBindContext2(Display *dpy, int scrn,
- GLXDrawable draw, GLXDrawable read,
- GLXContext gc)
-{
- __DRIscreen *pDRIScreen;
- const __GLcontextModes *modes;
-
- /*
- ** Assume error checking is done properly in glXMakeCurrent before
- ** calling driBindContext.
- */
-
- if (gc == NULL || draw == None || read == None) {
- /* ERROR!!! */
- return GL_FALSE;
- }
-
- pDRIScreen = glx_find_dri_screen(dpy, scrn);
- modes = (driCompareGLXAPIVersion( 20040317 ) >= 0)
- ? gc->driContext.mode
- : findConfigMode( dpy, scrn, gc->vid, pDRIScreen );
-
- if ( modes == NULL ) {
- /* ERROR!!! */
- return GL_FALSE;
- }
-
- /* findConfigMode will return NULL if the DRI screen or screen private
- * are NULL.
- */
- assert( (pDRIScreen != NULL) && (pDRIScreen->private != NULL) );
-
- return DoBindContext( dpy, draw, read, & gc->driContext, modes,
- (__DRIscreenPrivate *)pDRIScreen->private );
-}
-
-static GLboolean driUnbindContext2(Display *dpy, int scrn,
- GLXDrawable draw, GLXDrawable read,
- GLXContext gc)
-{
- return driUnbindContext3(dpy, scrn, draw, read, & gc->driContext);
-}
-
-/*
- * Simply call bind with the same GLXDrawable for the read and draw buffers.
- */
-static GLboolean driBindContext(Display *dpy, int scrn,
- GLXDrawable draw, GLXContext gc)
-{
- return driBindContext2(dpy, scrn, draw, draw, gc);
-}
-
-
-/*
- * Simply call bind with the same GLXDrawable for the read and draw buffers.
- */
-static GLboolean driUnbindContext(Display *dpy, int scrn,
- GLXDrawable draw, GLXContext gc,
- int will_rebind)
-{
- (void) will_rebind;
- return driUnbindContext2( dpy, scrn, draw, draw, gc );
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
/*@}*/
@@ -803,7 +578,7 @@ static void *driCreateNewDrawable(__DRInativeDisplay *dpy,
int renderType,
const int *attrs)
{
- __DRIscreen * const pDRIScreen = glx_find_dri_screen(dpy, modes->screen);
+ __DRIscreen * const pDRIScreen = (*glx_find_dri_screen)(dpy, modes->screen);
__DRIscreenPrivate *psp;
__DRIdrawablePrivate *pdp;
@@ -853,13 +628,9 @@ static void *driCreateNewDrawable(__DRInativeDisplay *dpy,
pdp->getInfo = (PFNGLXGETDRAWABLEINFOPROC)
glXGetProcAddress( (const GLubyte *) "__glXGetDrawableInfo" );
if ( pdp->getInfo == NULL ) {
-#ifdef DRI_NEW_INTERFACE_ONLY
(void)XF86DRIDestroyDrawable(dpy, modes->screen, pdp->draw);
_mesa_free(pdp);
return NULL;
-#else
- pdp->getInfo = (PFNGLXGETDRAWABLEINFOPROC) XF86DRIGetDrawableInfo;
-#endif /* DRI_NEW_INTERFACE_ONLY */
}
if (!(*psp->DriverAPI.CreateBuffer)(psp, pdp, modes,
@@ -873,19 +644,18 @@ static void *driCreateNewDrawable(__DRInativeDisplay *dpy,
pdraw->destroyDrawable = driDestroyDrawable;
pdraw->swapBuffers = driSwapBuffers; /* called by glXSwapBuffers() */
- if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
- pdraw->getSBC = driGetSBC;
- pdraw->waitForSBC = driWaitForSBC;
- pdraw->waitForMSC = driWaitForMSC;
- pdraw->swapBuffersMSC = driSwapBuffersMSC;
- pdraw->frameTracking = NULL;
- pdraw->queryFrameTracking = driQueryFrameTracking;
-
- /* This special default value is replaced with the configured
- * default value when the drawable is first bound to a direct
- * rendering context. */
- pdraw->swap_interval = (unsigned)-1;
- }
+ pdraw->getSBC = driGetSBC;
+ pdraw->waitForSBC = driWaitForSBC;
+ pdraw->waitForMSC = driWaitForMSC;
+ pdraw->swapBuffersMSC = driSwapBuffersMSC;
+ pdraw->frameTracking = NULL;
+ pdraw->queryFrameTracking = driQueryFrameTracking;
+
+ /* This special default value is replaced with the configured
+ * default value when the drawable is first bound to a direct
+ * rendering context.
+ */
+ pdraw->swap_interval = (unsigned)-1;
pdp->swapBuffers = psp->DriverAPI.SwapBuffers;
@@ -998,7 +768,7 @@ driCreateNewContext(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
__DRIscreenPrivate *psp;
void * const shareCtx = (pshare != NULL) ? pshare->driverPrivate : NULL;
- pDRIScreen = glx_find_dri_screen(dpy, modes->screen);
+ pDRIScreen = (*glx_find_dri_screen)(dpy, modes->screen);
if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
/* ERROR!!! */
return NULL;
@@ -1035,26 +805,8 @@ driCreateNewContext(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
}
pctx->destroyContext = driDestroyContext;
-#ifdef DRI_NEW_INTERFACE_ONLY
- pctx->bindContext = NULL;
- pctx->unbindContext = NULL;
- pctx->bindContext2 = NULL;
- pctx->unbindContext2 = NULL;
- pctx->bindContext3 = driBindContext3;
- pctx->unbindContext3 = driUnbindContext3;
-#else
- pctx->bindContext = (void *)driBindContext;
- pctx->unbindContext = (void *)driUnbindContext;
- if ( driCompareGLXAPIVersion( 20030606 ) >= 0 ) {
- pctx->bindContext2 = (void *)driBindContext2;
- pctx->unbindContext2 = (void *)driUnbindContext2;
- }
-
- if ( driCompareGLXAPIVersion( 20040415 ) >= 0 ) {
- pctx->bindContext3 = (void *)driBindContext3;
- pctx->unbindContext3 = (void *)driUnbindContext3;
- }
-#endif
+ pctx->bindContext = driBindContext;
+ pctx->unbindContext = driUnbindContext;
if ( !(*psp->DriverAPI.CreateContext)(modes, pcp, shareCtx) ) {
(void)XF86DRIDestroyContext(dpy, modes->screen, pcp->contextID);
@@ -1066,57 +818,6 @@ driCreateNewContext(__DRInativeDisplay *dpy, const __GLcontextModes *modes,
return pcp;
}
-
-
-#ifndef DRI_NEW_INTERFACE_ONLY
-/**
- * Create the per-drawable private driver information.
- *
- * \param dpy the display handle.
- * \param vis the visual information.
- * \param sharedPrivate the shared context dependent methods or \c NULL if
- * non-existent.
- * \param pctx will receive the context dependent methods.
- *
- * \returns a opaque pointer to the per-context private information on success, or \c NULL
- * on failure.
- *
- * \deprecated
- * This function has been replaced by \c driCreateNewContext. In drivers
- * built to work with XFree86, this function will continue to exist to support
- * older versions of libGL. Starting with the next major relelase of XFree86,
- * this function will be removed.
- *
- * \internal
- * This function allocates and fills a __DRIcontextPrivateRec structure. It
- * gets the visual, converts it into a __GLcontextModesRec and passes it
- * to __DriverAPIRec::CreateContext to create the context.
- */
-static void *driCreateContext(Display *dpy, XVisualInfo *vis,
- void *sharedPrivate, __DRIcontext *pctx)
-{
- __DRIscreen *pDRIScreen;
- const __GLcontextModes *modes;
-
- pDRIScreen = glx_find_dri_screen(dpy, vis->screen);
- if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
- /* ERROR!!! */
- return NULL;
- }
-
-
- /* Setup a __GLcontextModes struct corresponding to vis->visualid
- * and create the rendering context.
- */
-
- modes = findConfigMode(dpy, vis->screen, vis->visualid, pDRIScreen);
- return (modes == NULL)
- ? NULL
- : driCreateNewContext( dpy, modes, GLX_RGBA_TYPE,
- sharedPrivate, pctx );
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
/*@}*/
@@ -1184,6 +885,11 @@ static void driDestroyScreen(__DRInativeDisplay *dpy, int scrn, void *screenPriv
* \param internal_api_version Version of the internal interface between the
* driver and libGL.
* \param driverAPI Driver API functions used by other routines in dri_util.c.
+ *
+ * \note
+ * There is no need to check the minimum API version in this function. Since
+ * the \c __driCreateNewScreen function is versioned, it is impossible for a
+ * loader that is too old to even load this driver.
*/
__DRIscreenPrivate *
__driUtilCreateNewScreen(__DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
@@ -1200,46 +906,23 @@ __driUtilCreateNewScreen(__DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
__DRIscreenPrivate *psp;
-#ifdef DRI_NEW_INTERFACE_ONLY
- if ( internal_api_version < 20040602 ) {
- fprintf( stderr, "libGL error: libGL.so version (%08u) is too old. "
- "20040602 or later is required.\n", internal_api_version );
- return NULL;
- }
-#else
- if ( internal_api_version == 20031201 ) {
- fprintf( stderr, "libGL error: libGL version 20031201 has critical "
- "binary compatilibity bugs.\nlibGL error: You must upgrade "
- "to use direct-rendering!\n" );
- return NULL;
- }
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
-
window_exists = (PFNGLXWINDOWEXISTSPROC)
glXGetProcAddress( (const GLubyte *) "__glXWindowExists" );
if ( window_exists == NULL ) {
-#ifdef DRI_NEW_INTERFACE_ONLY
- fprintf( stderr, "libGL error: libGL.so version (%08u) is too old. "
- "20021128 or later is required.\n", internal_api_version );
return NULL;
-#else
- window_exists = (PFNGLXWINDOWEXISTSPROC) __driWindowExists;
-#endif /* DRI_NEW_INTERFACE_ONLY */
+ }
+
+ glx_find_dri_screen =
+ (PFNGLXFINDDRISCREEN)glXGetProcAddress("__glXFindDRIScreen");
+ if ( glx_find_dri_screen == NULL ) {
+ return NULL;
}
create_context_with_config = (PFNGLXCREATECONTEXTWITHCONFIGPROC)
glXGetProcAddress( (const GLubyte *) "__glXCreateContextWithConfig" );
if ( create_context_with_config == NULL ) {
-#ifdef DRI_NEW_INTERFACE_ONLY
- fprintf( stderr, "libGL error: libGL.so version (%08u) is too old. "
- "20031201 or later is required.\n", internal_api_version );
return NULL;
-#else
- create_context_with_config = (PFNGLXCREATECONTEXTWITHCONFIGPROC)
- fake_XF86DRICreateContextWithConfig;
-#endif /* DRI_NEW_INTERFACE_ONLY */
}
api_ver = internal_api_version;
@@ -1302,25 +985,10 @@ __driUtilCreateNewScreen(__DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
psp->dummyContextPriv.driScreenPriv = NULL;
psc->destroyScreen = driDestroyScreen;
-#ifndef DRI_NEW_INTERFACE_ONLY
- psc->createContext = driCreateContext;
-#else
- psc->createContext = NULL;
-#endif
psc->createNewDrawable = driCreateNewDrawable;
psc->getDrawable = driGetDrawable;
-#ifdef DRI_NEW_INTERFACE_ONLY
psc->getMSC = driGetMSC;
psc->createNewContext = driCreateNewContext;
-#else
- if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
- psc->getMSC = driGetMSC;
-
- if ( driCompareGLXAPIVersion( 20030824 ) >= 0 ) {
- psc->createNewContext = driCreateNewContext;
- }
- }
-#endif
if ( (psp->DriverAPI.InitDriver != NULL)
&& !(*psp->DriverAPI.InitDriver)(psp) ) {
@@ -1333,233 +1001,6 @@ __driUtilCreateNewScreen(__DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
}
-#ifndef DRI_NEW_INTERFACE_ONLY
-/**
- * Utility function used to create a new driver-private screen structure.
- *
- * \param dpy Display pointer.
- * \param scrn Index of the screen.
- * \param psc DRI screen data (not driver private)
- * \param numConfigs Number of visual configs pointed to by \c configs.
- * \param configs Array of GLXvisualConfigs exported by the 2D driver.
- * \param driverAPI Driver API functions used by other routines in dri_util.c.
- *
- * \deprecated
- * This function has been replaced by \c __driUtilCreateNewScreen. In drivers
- * built to work with XFree86, this function will continue to exist to support
- * older versions of libGL. Starting with the next major relelase of XFree86,
- * this function will be removed.
- */
-__DRIscreenPrivate *
-__driUtilCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *configs,
- const struct __DriverAPIRec *driverAPI)
-{
- int directCapable;
- __DRIscreenPrivate *psp = NULL;
- drm_handle_t hSAREA;
- drmAddress pSAREA;
- char *BusID;
- __GLcontextModes *modes;
- __GLcontextModes *temp;
- int i;
- __DRIversion ddx_version;
- __DRIversion dri_version;
- __DRIversion drm_version;
- __DRIframebuffer framebuffer;
- int fd = -1;
- int status;
- const char * err_msg;
- const char * err_extra;
-
-
- if (!XF86DRIQueryDirectRenderingCapable(dpy, scrn, &directCapable)
- || !directCapable) {
- return NULL;
- }
-
-
- /* Create the linked list of context modes, and populate it with the
- * GLX visual information passed in by libGL.
- */
-
- modes = _gl_context_modes_create( numConfigs, sizeof(__GLcontextModes) );
- if ( modes == NULL ) {
- return NULL;
- }
-
- temp = modes;
- for ( i = 0 ; i < numConfigs ; i++ ) {
- assert( temp != NULL );
- _gl_copy_visual_to_context_mode( temp, & configs[i] );
- temp->screen = scrn;
-
- temp = temp->next;
- }
-
- err_msg = "XF86DRIOpenConnection";
- err_extra = NULL;
-
- if (XF86DRIOpenConnection(dpy, scrn, &hSAREA, &BusID)) {
- fd = drmOpen(NULL,BusID);
- _mesa_free(BusID); /* No longer needed */
-
- err_msg = "open DRM";
- err_extra = strerror( -fd );
-
- if (fd >= 0) {
- drm_magic_t magic;
-
- err_msg = "drmGetMagic";
- err_extra = NULL;
-
- if (!drmGetMagic(fd, &magic)) {
- drmVersionPtr version = drmGetVersion(fd);
- if (version) {
- drm_version.major = version->version_major;
- drm_version.minor = version->version_minor;
- drm_version.patch = version->version_patchlevel;
- drmFreeVersion(version);
- }
- else {
- drm_version.major = -1;
- drm_version.minor = -1;
- drm_version.patch = -1;
- }
-
- err_msg = "XF86DRIAuthConnection";
- if (XF86DRIAuthConnection(dpy, scrn, magic)) {
- char *driverName;
-
- /*
- * Get device name (like "tdfx") and the ddx version numbers.
- * We'll check the version in each DRI driver's "createScreen"
- * function.
- */
- err_msg = "XF86DRIGetClientDriverName";
- if (XF86DRIGetClientDriverName(dpy, scrn,
- &ddx_version.major,
- &ddx_version.minor,
- &ddx_version.patch,
- &driverName)) {
-
- /* No longer needed. */
- _mesa_free( driverName );
-
- /*
- * Get the DRI X extension version.
- */
- err_msg = "XF86DRIQueryVersion";
- if (XF86DRIQueryVersion(dpy,
- &dri_version.major,
- &dri_version.minor,
- &dri_version.patch)) {
- drm_handle_t hFB;
- int junk;
-
- /*
- * Get device-specific info. pDevPriv will point to a struct
- * (such as DRIRADEONRec in xfree86/driver/ati/radeon_dri.h)
- * that has information about the screen size, depth, pitch,
- * ancilliary buffers, DRM mmap handles, etc.
- */
- err_msg = "XF86DRIGetDeviceInfo";
- if (XF86DRIGetDeviceInfo(dpy, scrn,
- &hFB,
- &junk,
- &framebuffer.size,
- &framebuffer.stride,
- &framebuffer.dev_priv_size,
- &framebuffer.dev_priv)) {
- framebuffer.width = DisplayWidth(dpy, scrn);
- framebuffer.height = DisplayHeight(dpy, scrn);
-
- /*
- * Map the framebuffer region.
- */
- status = drmMap(fd, hFB, framebuffer.size,
- (drmAddressPtr)&framebuffer.base);
-
- err_msg = "drmMap of framebuffer";
- err_extra = strerror( -status );
-
- if ( status == 0 ) {
- /*
- * Map the SAREA region. Further mmap regions may be setup in
- * each DRI driver's "createScreen" function.
- */
- status = drmMap(fd, hSAREA, SAREA_MAX,
- &pSAREA);
-
- err_msg = "drmMap of sarea";
- err_extra = strerror( -status );
-
- if ( status == 0 ) {
- PFNGLXGETINTERNALVERSIONPROC get_ver;
-
- get_ver = (PFNGLXGETINTERNALVERSIONPROC)
- glXGetProcAddress( (const GLubyte *) "__glXGetInternalVersion" );
-
- err_msg = "InitDriver";
- err_extra = NULL;
- psp = __driUtilCreateNewScreen( dpy, scrn, psc, modes,
- & ddx_version,
- & dri_version,
- & drm_version,
- & framebuffer,
- pSAREA,
- fd,
- (get_ver != NULL) ? (*get_ver)() : 1,
- driverAPI );
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- if ( psp == NULL ) {
- if ( pSAREA != MAP_FAILED ) {
- (void)drmUnmap(pSAREA, SAREA_MAX);
- }
-
- if ( framebuffer.base != MAP_FAILED ) {
- (void)drmUnmap((drmAddress)framebuffer.base, framebuffer.size);
- }
-
- if ( framebuffer.dev_priv != NULL ) {
- _mesa_free(framebuffer.dev_priv);
- }
-
- if ( fd >= 0 ) {
- (void)drmClose(fd);
- }
-
- if ( modes != NULL ) {
- _gl_context_modes_destroy( modes );
- }
-
- (void)XF86DRICloseConnection(dpy, scrn);
-
- if ( err_extra != NULL ) {
- fprintf(stderr, "libGL error: %s failed (%s)\n", err_msg,
- err_extra);
- }
- else {
- fprintf(stderr, "libGL error: %s failed\n", err_msg );
- }
-
- fprintf(stderr, "libGL error: reverting to (slow) indirect rendering\n");
- }
-
- return psp;
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
-
/**
* Compare the current GLX API version with a driver supplied required version.
*
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index 6ef1b114f9c..3e2aa1f52d8 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -51,11 +51,7 @@
#define CAPI /* XXX this should be globally defined somewhere */
-#ifdef DRI_NEW_INTERFACE_ONLY
-# include <GL/gl.h>
-#else
-# include "glxclient.h"
-#endif /* DRI_NEW_INTERFACE_ONLY */
+#include <GL/gl.h>
#include "drm.h"
#include "drm_sarea.h"
#include "GL/internal/glcore.h"
@@ -63,13 +59,6 @@
#define GLX_BAD_CONTEXT 5
-/* This is a temporary relic. Once all drivers are converted to support
- * the new interface, it can go away.
- */
-#ifdef DRI_NEW_INTERFACE_ONLY
-#define USE_NEW_INTERFACE
-#endif
-
typedef struct __DRIdisplayPrivateRec __DRIdisplayPrivate;
typedef struct __DRIscreenPrivateRec __DRIscreenPrivate;
typedef struct __DRIcontextPrivateRec __DRIcontextPrivate;
@@ -552,13 +541,6 @@ extern __DRIscreenPrivate * __driUtilCreateNewScreen( __DRInativeDisplay *dpy,
drm_sarea_t *pSAREA, int fd, int internal_api_version,
const struct __DriverAPIRec *driverAPI );
-#ifndef DRI_NEW_INTERFACE_ONLY
-extern __DRIscreenPrivate *
-__driUtilCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config,
- const struct __DriverAPIRec *driverAPI);
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
/* Test the version of the internal GLX API. Returns a value like strcmp. */
extern int
driCompareGLXAPIVersion( GLint required_version );
diff --git a/src/mesa/drivers/dri/common/glcontextmodes.c b/src/mesa/drivers/dri/common/glcontextmodes.c
index c540e5baecd..73209a9b01d 100644
--- a/src/mesa/drivers/dri/common/glcontextmodes.c
+++ b/src/mesa/drivers/dri/common/glcontextmodes.c
@@ -31,7 +31,7 @@
* \author Ian Romanick <[email protected]>
*/
-#ifdef DRI_NEW_INTERFACE_ONLY
+#ifdef IN_DRI_DRIVER
# include <stdlib.h>
# include <string.h>
# include <GL/gl.h>
@@ -55,11 +55,11 @@ extern void __glXFree( void * ptr );
# define _mesa_malloc(b) Xmalloc(b)
# define _mesa_free(m) Xfree(m)
# endif /* XFree86Server */
-#endif /* DRI_NEW_INTERFACE_ONLY */
+#endif /* !defined(IN_DRI_DRIVER) */
#include "glcontextmodes.h"
-#ifndef DRI_NEW_INTERFACE_ONLY
+#if !defined(IN_DRI_DRIVER)
#define NUM_VISUAL_TYPES 6
/**
@@ -320,7 +320,7 @@ _gl_get_context_mode_data(const __GLcontextModes *mode, int attribute,
return GLX_BAD_ATTRIBUTE;
}
}
-#endif /* DRI_NEW_INTERFACE_ONLY */
+#endif /* !defined(IN_DRI_DRIVER) */
/**
diff --git a/src/mesa/drivers/dri/common/glcontextmodes.h b/src/mesa/drivers/dri/common/glcontextmodes.h
index 46b4c68dcaf..ce74287b3d8 100644
--- a/src/mesa/drivers/dri/common/glcontextmodes.h
+++ b/src/mesa/drivers/dri/common/glcontextmodes.h
@@ -32,14 +32,14 @@
#include "GL/internal/glcore.h"
-#ifndef DRI_NEW_INTERFACE_ONLY
+#if !defined(IN_DRI_DRIVER)
extern GLint _gl_convert_from_x_visual_type( int visualType );
extern GLint _gl_convert_to_x_visual_type( int visualType );
extern void _gl_copy_visual_to_context_mode( __GLcontextModes * mode,
const __GLXvisualConfig * config );
extern int _gl_get_context_mode_data( const __GLcontextModes *mode,
int attribute, int *value_return );
-#endif /* DRI_NEW_INTERFACE_ONLY */
+#endif /* !defined(IN_DRI_DRIVER) */
extern __GLcontextModes * _gl_context_modes_create( unsigned count,
size_t minimum_size );
diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c
index fcdb9956b7a..41367b85d85 100644
--- a/src/mesa/drivers/dri/common/utils.c
+++ b/src/mesa/drivers/dri/common/utils.c
@@ -35,10 +35,6 @@
#include "extensions.h"
#include "utils.h"
-#if !defined( DRI_NEW_INTERFACE_ONLY )
-#include "xf86dri.h" /* For XF86DRIQueryVersion prototype. */
-#endif
-
#if defined(USE_X86_ASM)
#include "x86/common_x86_asm.h"
#endif
@@ -275,57 +271,6 @@ void driInitSingleExtension( GLcontext * ctx,
}
-
-
-#ifndef DRI_NEW_INTERFACE_ONLY
-/**
- * Utility function used by drivers to test the verions of other components.
- *
- * \deprecated
- * All drivers using the new interface should use \c driCheckDriDdxVersions2
- * instead. This function is implemented using a call that is not available
- * to drivers using the new interface. Furthermore, the information gained
- * by this call (the DRI and DDX version information) is already provided to
- * the driver via the new interface.
- */
-GLboolean
-driCheckDriDdxDrmVersions(__DRIscreenPrivate *sPriv,
- const char * driver_name,
- int dri_major, int dri_minor,
- int ddx_major, int ddx_minor,
- int drm_major, int drm_minor)
-{
- static const char format[] = "%s DRI driver expected %s version %d.%d.x "
- "but got version %d.%d.%d";
- int major, minor, patch;
-
- /* Check the DRI version */
- if (XF86DRIQueryVersion(sPriv->display, &major, &minor, &patch)) {
- if (major != dri_major || minor < dri_minor) {
- __driUtilMessage(format, driver_name, "DRI", dri_major, dri_minor,
- major, minor, patch);
- return GL_FALSE;
- }
- }
-
- /* Check that the DDX driver version is compatible */
- if (sPriv->ddxMajor != ddx_major || sPriv->ddxMinor < ddx_minor) {
- __driUtilMessage(format, driver_name, "DDX", ddx_major, ddx_minor,
- sPriv->ddxMajor, sPriv->ddxMinor, sPriv->ddxPatch);
- return GL_FALSE;
- }
-
- /* Check that the DRM driver version is compatible */
- if (sPriv->drmMajor != drm_major || sPriv->drmMinor < drm_minor) {
- __driUtilMessage(format, driver_name, "DRM", drm_major, drm_minor,
- sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch);
- return GL_FALSE;
- }
-
- return GL_TRUE;
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
/**
* Utility function used by drivers to test the verions of other components.
*
@@ -343,7 +288,11 @@ driCheckDriDdxDrmVersions(__DRIscreenPrivate *sPriv,
* \returns \c GL_TRUE if all version requirements are met. Otherwise,
* \c GL_FALSE is returned.
*
- * \sa __driCreateNewScreen, driCheckDriDdxDrmVersions, __driUtilMessage
+ * \sa __driCreateNewScreen, driCheckDriDdxDrmVersions2, __driUtilMessage
+ *
+ * \todo
+ * Now that the old \c driCheckDriDdxDrmVersions function is gone, this
+ * function and \c driCheckDriDdxDrmVersions2 should be renamed.
*/
GLboolean
driCheckDriDdxDrmVersions3(const char * driver_name,
diff --git a/src/mesa/drivers/dri/common/utils.h b/src/mesa/drivers/dri/common/utils.h
index be328df058f..6640229e475 100644
--- a/src/mesa/drivers/dri/common/utils.h
+++ b/src/mesa/drivers/dri/common/utils.h
@@ -90,12 +90,6 @@ extern void driInitExtensions( GLcontext * ctx,
extern void driInitSingleExtension( GLcontext * ctx,
const struct dri_extension * ext );
-#ifndef DRI_NEW_INTERFACE_ONLY
-extern GLboolean driCheckDriDdxDrmVersions( __DRIscreenPrivate *sPriv,
- const char * driver_name, int dri_major, int dri_minor,
- int ddx_major, int ddx_minor, int drm_major, int drm_minor );
-#endif
-
extern GLboolean driCheckDriDdxDrmVersions2(const char * driver_name,
const __DRIversion * driActual, const __DRIversion * driExpected,
const __DRIversion * ddxActual, const __DRIversion * ddxExpected,
diff --git a/src/mesa/drivers/dri/common/vblank.c b/src/mesa/drivers/dri/common/vblank.c
index aaeaebb0362..eebe42d96a1 100644
--- a/src/mesa/drivers/dri/common/vblank.c
+++ b/src/mesa/drivers/dri/common/vblank.c
@@ -181,11 +181,9 @@ int driWaitForMSC32( __DRIdrawablePrivate *priv,
GLuint driGetDefaultVBlankFlags( const driOptionCache *optionCache )
{
- GLuint flags = 0;
+ GLuint flags = VBLANK_FLAG_INTERVAL;
int vblank_mode;
- flags |= (driCompareGLXAPIVersion( 20030317 ) >= 0)
- ? VBLANK_FLAG_INTERVAL : 0;
if ( driCheckOption( optionCache, "vblank_mode", DRI_ENUM ) )
vblank_mode = driQueryOptioni( optionCache, "vblank_mode" );
diff --git a/src/mesa/drivers/dri/fb/fb_dri.c b/src/mesa/drivers/dri/fb/fb_dri.c
index 01014f7efdb..6f4ffc078e5 100644
--- a/src/mesa/drivers/dri/fb/fb_dri.c
+++ b/src/mesa/drivers/dri/fb/fb_dri.c
@@ -73,9 +73,7 @@ typedef struct {
#define FB_CONTEXT(ctx) ((fbContextPtr)(ctx->DriverCtx))
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static const GLubyte *
get_string(GLcontext *ctx, GLenum pname)
@@ -659,7 +657,6 @@ struct DRIDriverRec __driDriver = {
__driHaltFBDev
};
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
fbFillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -793,4 +790,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/ffb/ffb_xmesa.c b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
index aced4a9253d..c516cae2f2d 100644
--- a/src/mesa/drivers/dri/ffb/ffb_xmesa.c
+++ b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
@@ -616,23 +616,6 @@ static const struct __DriverAPIRec ffbAPI = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &ffbAPI);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
static __GLcontextModes *
@@ -714,7 +697,6 @@ ffbFillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/**
@@ -727,9 +709,8 @@ ffbFillInModes( unsigned pixel_bits, unsigned depth_bits,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -766,4 +747,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/ffb/server/ffb_dac.h b/src/mesa/drivers/dri/ffb/server/ffb_dac.h
index 5e4b5ff815d..08114282e51 100644
--- a/src/mesa/drivers/dri/ffb/server/ffb_dac.h
+++ b/src/mesa/drivers/dri/ffb/server/ffb_dac.h
@@ -26,9 +26,7 @@
#ifndef _FFB_DAC_H
#define _FFB_DAC_H
-#if defined( DRI_NEW_INTERFACE_ONLY )
#define Bool int
-#endif
/* FFB utilizes two different ramdac chips:
*
diff --git a/src/mesa/drivers/dri/i810/i810screen.c b/src/mesa/drivers/dri/i810/i810screen.c
index f270df66b65..0eacdd75f07 100644
--- a/src/mesa/drivers/dri/i810/i810screen.c
+++ b/src/mesa/drivers/dri/i810/i810screen.c
@@ -54,11 +54,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "GL/internal/dri_interface.h"
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *fill_in_modes( __GLcontextModes *modes,
unsigned pixel_bits,
unsigned depth_bits,
@@ -122,9 +119,8 @@ static __GLcontextModes *fill_in_modes( __GLcontextModes *modes,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
-#ifdef USE_NEW_INTERFACE
+
static __GLcontextModes *
i810FillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -189,8 +185,6 @@ i810FillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
-
/* static int i810_malloc_proxy_buf(drmBufMapPtr buffers) */
@@ -421,21 +415,6 @@ static const struct __DriverAPIRec i810API = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &i810API);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
/**
* This is the bootstrap function for the driver. libGL supplies all of the
* requisite information about the system, and the driver initializes itself.
@@ -446,9 +425,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -487,4 +465,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/i830/i830_screen.c b/src/mesa/drivers/dri/i830/i830_screen.c
index 82883d07f2a..99155c66007 100644
--- a/src/mesa/drivers/dri/i830/i830_screen.c
+++ b/src/mesa/drivers/dri/i830/i830_screen.c
@@ -67,9 +67,7 @@ DRI_CONF_BEGIN
DRI_CONF_END;
const GLuint __driNConfigOptions = 2;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /*USE_NEW_INTERFACE*/
static int i830_malloc_proxy_buf(drmBufMapPtr buffers)
{
@@ -144,8 +142,15 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv)
{
i830ScreenPrivate *i830Screen;
I830DRIPtr gDRIPriv = (I830DRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if ( glx_enable_extension == NULL ) {
+ return GL_FALSE;
+ }
+
/* Allocate the private area */
i830Screen = (i830ScreenPrivate *)CALLOC(sizeof(i830ScreenPrivate));
if (!i830Screen) {
@@ -281,20 +286,7 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv)
}
#endif
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
- }
- }
+ (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
return GL_TRUE;
}
@@ -428,23 +420,6 @@ static const struct __DriverAPIRec i830API = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &i830API);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
i830FillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -515,7 +490,6 @@ i830FillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/**
@@ -528,9 +502,8 @@ i830FillInModes( unsigned pixel_bits, unsigned depth_bits,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -571,4 +544,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/i915/intel_screen.c b/src/mesa/drivers/dri/i915/intel_screen.c
index d41cda1be77..5e3826a6886 100644
--- a/src/mesa/drivers/dri/i915/intel_screen.c
+++ b/src/mesa/drivers/dri/i915/intel_screen.c
@@ -54,9 +54,7 @@ DRI_CONF_BEGIN
DRI_CONF_END;
const GLuint __driNConfigOptions = 1;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /*USE_NEW_INTERFACE*/
static void intelPrintDRIInfo(intelScreenPrivate *intelScreen,
@@ -78,8 +76,15 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv)
{
intelScreenPrivate *intelScreen;
I830DRIPtr gDRIPriv = (I830DRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if (glx_enable_extension == NULL) {
+ return GL_FALSE;
+ }
+
/* Allocate the private area */
intelScreen = (intelScreenPrivate *)CALLOC(sizeof(intelScreenPrivate));
if (!intelScreen) {
@@ -195,28 +200,13 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv)
}
}
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if (glx_enable_extension != NULL) {
- (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
-
- if ( driCompareGLXAPIVersion( 20030818 ) >= 0 ) {
- sPriv->psc->allocateMemory = (void *) intelAllocateMemoryMESA;
- sPriv->psc->freeMemory = (void *) intelFreeMemoryMESA;
- sPriv->psc->memoryOffset = (void *) intelGetMemoryOffsetMESA;
+ (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+
+ sPriv->psc->allocateMemory = (void *) intelAllocateMemoryMESA;
+ sPriv->psc->freeMemory = (void *) intelFreeMemoryMESA;
+ sPriv->psc->memoryOffset = (void *) intelGetMemoryOffsetMESA;
- (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
- }
- }
- }
+ (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
return GL_TRUE;
}
@@ -377,23 +367,7 @@ static const struct __DriverAPIRec intelAPI = {
.SwapBuffersMSC = NULL
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &intelAPI);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
intelFillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -466,7 +440,6 @@ intelFillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/**
@@ -479,9 +452,8 @@ intelFillInModes( unsigned pixel_bits, unsigned depth_bits,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -522,4 +494,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/mach64/mach64_screen.c b/src/mesa/drivers/dri/mach64/mach64_screen.c
index d524a050e67..fd9acec36f4 100644
--- a/src/mesa/drivers/dri/mach64/mach64_screen.c
+++ b/src/mesa/drivers/dri/mach64/mach64_screen.c
@@ -67,11 +67,8 @@ static const GLuint __driNConfigOptions = 3;
static const GLuint __driNConfigOptions = 2;
#endif
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes * fill_in_modes( __GLcontextModes * modes,
unsigned pixel_bits,
unsigned depth_bits,
@@ -136,10 +133,8 @@ static __GLcontextModes * fill_in_modes( __GLcontextModes * modes,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
mach64FillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -204,7 +199,6 @@ mach64FillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/* Create the device specific screen private data struct.
@@ -214,10 +208,18 @@ mach64CreateScreen( __DRIscreenPrivate *sPriv )
{
mach64ScreenPtr mach64Screen;
ATIDRIPtr serverInfo = (ATIDRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+
if ( MACH64_DEBUG & DEBUG_VERBOSE_DRI )
fprintf( stderr, "%s\n", __FUNCTION__ );
+ if ( glx_enable_extension == NULL ) {
+ return NULL;
+ }
+
/* Allocate the private area */
mach64Screen = (mach64ScreenPtr) CALLOC( sizeof(*mach64Screen) );
if ( !mach64Screen ) return NULL;
@@ -316,21 +318,15 @@ mach64CreateScreen( __DRIscreenPrivate *sPriv )
}
mach64Screen->driScreen = sPriv;
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- if ( mach64Screen->irq != 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- }
-
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
- }
+
+ if ( mach64Screen->irq != 0 ) {
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
}
+
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+
return mach64Screen;
}
@@ -492,21 +488,6 @@ static struct __DriverAPIRec mach64API = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &mach64API);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
/**
* This is the bootstrap function for the driver. libGL supplies all of the
* requisite information about the system, and the driver initializes itself.
@@ -517,9 +498,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -560,4 +540,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/mga/mga_xmesa.c b/src/mesa/drivers/dri/mga/mga_xmesa.c
index 5dbcf546820..aaa4e25c103 100644
--- a/src/mesa/drivers/dri/mga/mga_xmesa.c
+++ b/src/mesa/drivers/dri/mga/mga_xmesa.c
@@ -104,9 +104,7 @@ DRI_CONF_BEGIN
DRI_CONF_END;
static const GLuint __driNConfigOptions = 6;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
#ifndef MGA_DEBUG
int MGA_DEBUG = 0;
@@ -114,7 +112,6 @@ int MGA_DEBUG = 0;
static int getSwapInfo( __DRIdrawablePrivate *dPriv, __DRIswapInfo * sInfo );
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
mgaFillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -194,7 +191,6 @@ mgaFillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
static GLboolean
@@ -202,8 +198,15 @@ mgaInitDriver(__DRIscreenPrivate *sPriv)
{
mgaScreenPrivate *mgaScreen;
MGADRIPtr serverInfo = (MGADRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if ( glx_enable_extension == NULL ) {
+ return GL_FALSE;
+ }
+
/* Allocate the private area */
mgaScreen = (mgaScreenPrivate *)MALLOC(sizeof(mgaScreenPrivate));
if (!mgaScreen) {
@@ -232,24 +235,11 @@ mgaInitDriver(__DRIscreenPrivate *sPriv)
}
}
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
- (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
- }
- }
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+ (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
if (serverInfo->chipset != MGA_CARD_TYPE_G200 &&
serverInfo->chipset != MGA_CARD_TYPE_G400) {
@@ -948,22 +938,6 @@ static const struct __DriverAPIRec mgaAPI = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &mgaAPI);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-
/**
* This is the bootstrap function for the driver. libGL supplies all of the
* requisite information about the system, and the driver initializes itself.
@@ -974,9 +948,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -1017,7 +990,6 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
/**
diff --git a/src/mesa/drivers/dri/r128/r128_screen.c b/src/mesa/drivers/dri/r128/r128_screen.c
index bd0585b7734..a5c2a6d1542 100644
--- a/src/mesa/drivers/dri/r128/r128_screen.c
+++ b/src/mesa/drivers/dri/r128/r128_screen.c
@@ -88,9 +88,7 @@ static const GLuint __driNConfigOptions = 3;
#define PCI_CHIP_RAGE128RL 0x524C
#endif
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
/* Create the device specific screen private data struct.
*/
@@ -99,8 +97,15 @@ r128CreateScreen( __DRIscreenPrivate *sPriv )
{
r128ScreenPtr r128Screen;
R128DRIPtr r128DRIPriv = (R128DRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if ( glx_enable_extension == NULL ) {
+ return NULL;
+ }
+
/* Allocate the private area */
r128Screen = (r128ScreenPtr) CALLOC( sizeof(*r128Screen) );
if ( !r128Screen ) return NULL;
@@ -211,21 +216,15 @@ r128CreateScreen( __DRIscreenPrivate *sPriv )
}
r128Screen->driScreen = sPriv;
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- if ( r128Screen->irq != 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- }
-
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
- }
+
+ if ( r128Screen->irq != 0 ) {
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
}
+
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+
return r128Screen;
}
@@ -392,23 +391,6 @@ static struct __DriverAPIRec r128API = {
};
-#ifndef DRI_NEW_INTERFACE_ONLY
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &r128API);
- return (void *) psp;
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
-
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
r128FillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -501,7 +483,7 @@ r128FillInModes( unsigned pixel_bits, unsigned depth_bits,
* failure.
*/
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -543,4 +525,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/r200/r200_screen.c b/src/mesa/drivers/dri/r200/r200_screen.c
index d6024121b50..014818ac1b6 100644
--- a/src/mesa/drivers/dri/r200/r200_screen.c
+++ b/src/mesa/drivers/dri/r200/r200_screen.c
@@ -136,15 +136,12 @@ static const GLuint __driNConfigOptions = 17;
#endif
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static r200ScreenPtr __r200Screen;
static int getSwapInfo( __DRIdrawablePrivate *dPriv, __DRIswapInfo * sInfo );
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
r200FillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -224,7 +221,6 @@ r200FillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/* Create the device specific screen private data struct.
@@ -235,8 +231,15 @@ r200CreateScreen( __DRIscreenPrivate *sPriv )
r200ScreenPtr screen;
RADEONDRIPtr dri_priv = (RADEONDRIPtr)sPriv->pDevPriv;
unsigned char *RADEONMMIO;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if ( glx_enable_extension == NULL ) {
+ return NULL;
+ }
+
/* Allocate the private area */
screen = (r200ScreenPtr) CALLOC( sizeof(*screen) );
if ( !screen ) {
@@ -460,34 +463,20 @@ r200CreateScreen( __DRIscreenPrivate *sPriv )
screen->driScreen = sPriv;
screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
+ if ( screen->irq != 0 ) {
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
+ }
- if ( glx_enable_extension != NULL ) {
- if ( screen->irq != 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- }
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+ sPriv->psc->allocateMemory = (void *) r200AllocateMemoryMESA;
+ sPriv->psc->freeMemory = (void *) r200FreeMemoryMESA;
+ sPriv->psc->memoryOffset = (void *) r200GetMemoryOffsetMESA;
- if ( driCompareGLXAPIVersion( 20030818 ) >= 0 ) {
- sPriv->psc->allocateMemory = (void *) r200AllocateMemoryMESA;
- sPriv->psc->freeMemory = (void *) r200FreeMemoryMESA;
- sPriv->psc->memoryOffset = (void *) r200GetMemoryOffsetMESA;
+ (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
- (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
- }
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
- }
- }
return screen;
}
@@ -643,23 +632,6 @@ static const struct __DriverAPIRec r200API = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- *
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &r200API);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-
/**
* This is the bootstrap function for the driver. libGL supplies all of the
* requisite information about the system, and the driver initializes itself.
@@ -670,9 +642,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -713,7 +684,6 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
/**
diff --git a/src/mesa/drivers/dri/r300/radeon_screen.c b/src/mesa/drivers/dri/r300/radeon_screen.c
index a508c62e834..ea9b9ea2669 100644
--- a/src/mesa/drivers/dri/r300/radeon_screen.c
+++ b/src/mesa/drivers/dri/r300/radeon_screen.c
@@ -216,15 +216,12 @@ static const struct dri_debug_control debug_control[] = {
#define PCI_CHIP_R420_JK 0x4a4b
#endif
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static radeonScreenPtr __radeonScreen;
static int getSwapInfo(__DRIdrawablePrivate * dPriv, __DRIswapInfo * sInfo);
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *radeonFillInModes(unsigned pixel_bits,
unsigned depth_bits,
unsigned stencil_bits,
@@ -304,7 +301,7 @@ static __GLcontextModes *radeonFillInModes(unsigned pixel_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
+
/* Create the device specific screen private data struct.
*/
@@ -313,6 +310,15 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
radeonScreenPtr screen;
RADEONDRIPtr dri_priv = (RADEONDRIPtr) sPriv->pDevPriv;
unsigned char *RADEONMMIO;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC)
+ glXGetProcAddress((const GLubyte *) "__glXScrEnableExtension");
+ void *const psc = sPriv->psc->screenConfigs;
+
+
+ if (glx_enable_extension == NULL) {
+ return NULL;
+ }
/* Allocate the private area */
screen = (radeonScreenPtr) CALLOC(sizeof(*screen));
@@ -580,48 +586,22 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
screen->driScreen = sPriv;
screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
- if (driCompareGLXAPIVersion(20030813) >= 0) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC)
- glXGetProcAddress((const GLubyte *)
- "__glXScrEnableExtension");
- void *const psc = sPriv->psc->screenConfigs;
-
- if (glx_enable_extension != NULL) {
- if (screen->irq != 0) {
- (*glx_enable_extension) (psc,
- "GLX_SGI_swap_control");
- (*glx_enable_extension) (psc,
- "GLX_SGI_video_sync");
- (*glx_enable_extension) (psc,
- "GLX_MESA_swap_control");
- }
+ if (screen->irq != 0) {
+ (*glx_enable_extension) (psc, "GLX_SGI_swap_control");
+ (*glx_enable_extension) (psc, "GLX_SGI_video_sync");
+ (*glx_enable_extension) (psc, "GLX_MESA_swap_control");
+ }
- (*glx_enable_extension) (psc,
- "GLX_MESA_swap_frame_usage");
+ (*glx_enable_extension) (psc, "GLX_MESA_swap_frame_usage");
#if R200_MERGED
- if (driCompareGLXAPIVersion(20030818) >= 0) {
- sPriv->psc->allocateMemory =
- (void *)r200AllocateMemoryMESA;
- sPriv->psc->freeMemory =
- (void *)r200FreeMemoryMESA;
- sPriv->psc->memoryOffset =
- (void *)r200GetMemoryOffsetMESA;
-
- (*glx_enable_extension) (psc,
- "GLX_MESA_allocate_memory");
- }
+ sPriv->psc->allocateMemory = (void *)r200AllocateMemoryMESA;
+ sPriv->psc->freeMemory = (void *)r200FreeMemoryMESA;
+ sPriv->psc->memoryOffset = (void *)r200GetMemoryOffsetMESA;
+
+ (*glx_enable_extension) (psc, "GLX_MESA_allocate_memory");
#endif
- if (driCompareGLXAPIVersion(20030915) >= 0) {
- (*glx_enable_extension) (psc,
- "GLX_SGIX_fbconfig");
- (*glx_enable_extension) (psc,
- "GLX_OML_swap_method");
- }
- }
- }
return screen;
}
@@ -799,22 +779,6 @@ static const struct __DriverAPIRec radeonAPI = {
.SwapBuffersMSC = NULL
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- *
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display * dpy, int scrn, __DRIscreen * psc,
- int numConfigs, __GLXvisualConfig * config)
-{
- __DRIscreenPrivate *psp;
- psp =
- __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &radeonAPI);
- return (void *)psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
/**
* This is the bootstrap function for the driver. libGL supplies all of the
@@ -826,8 +790,7 @@ void *__driCreateScreen(Display * dpy, int scrn, __DRIscreen * psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
-void *__driCreateNewScreen(__DRInativeDisplay * dpy, int scrn,
+void *__driCreateNewScreen_20050722(__DRInativeDisplay * dpy, int scrn,
__DRIscreen * psc, const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -871,7 +834,7 @@ void *__driCreateNewScreen(__DRInativeDisplay * dpy, int scrn,
return (void *)psp;
}
-#endif /* USE_NEW_INTERFACE */
+
/**
* Get information about previous buffer swaps.
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index edc92443668..71da86f1d17 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -115,13 +115,10 @@ static const GLuint __driNConfigOptions = 13;
#define PCI_CHIP_RS250_4437 0x4437
#endif
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static int getSwapInfo( __DRIdrawablePrivate *dPriv, __DRIswapInfo * sInfo );
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
radeonFillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -201,7 +198,7 @@ radeonFillInModes( unsigned pixel_bits, unsigned depth_bits,
return modes;
}
-#endif /* USE_NEW_INTERFACE */
+
/* Create the device specific screen private data struct.
*/
@@ -210,8 +207,15 @@ radeonScreenPtr radeonCreateScreen( __DRIscreenPrivate *sPriv )
radeonScreenPtr screen;
RADEONDRIPtr dri_priv = (RADEONDRIPtr)sPriv->pDevPriv;
unsigned char *RADEONMMIO;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+ if ( glx_enable_extension == NULL ) {
+ return NULL;
+ }
+
/* Allocate the private area */
screen = (radeonScreenPtr) CALLOC( sizeof(*screen) );
if ( !screen ) {
@@ -390,28 +394,14 @@ radeonScreenPtr radeonCreateScreen( __DRIscreenPrivate *sPriv )
dri_priv->log2GARTTexGran;
}
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress( (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- if ( screen->irq != 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- }
-
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
-
- }
+ if ( screen->irq != 0 ) {
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
}
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+
screen->driScreen = sPriv;
screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
return screen;
@@ -566,21 +556,6 @@ static struct __DriverAPIRec radeonAPI = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &radeonAPI);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
/**
* This is the bootstrap function for the driver. libGL supplies all of the
* requisite information about the system, and the driver initializes itself.
@@ -591,9 +566,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -634,7 +608,7 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
+
/**
* Get information about previous buffer swaps.
diff --git a/src/mesa/drivers/dri/s3v/s3v_xmesa.c b/src/mesa/drivers/dri/s3v/s3v_xmesa.c
index 61d4cbccbd9..4cdda1b5871 100644
--- a/src/mesa/drivers/dri/s3v/s3v_xmesa.c
+++ b/src/mesa/drivers/dri/s3v/s3v_xmesa.c
@@ -360,8 +360,3 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
return (void *) psp;
}
#endif
-
-void __driRegisterExtensions(void)
-{
- /* No extensions */
-}
diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c
index fd076affd63..355419a84a0 100644
--- a/src/mesa/drivers/dri/savage/savage_xmesa.c
+++ b/src/mesa/drivers/dri/savage/savage_xmesa.c
@@ -105,9 +105,7 @@ DRI_CONF_BEGIN
DRI_CONF_END;
static const GLuint __driNConfigOptions = 10;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static const struct dri_debug_control debug_control[] =
{
@@ -905,25 +903,6 @@ static const struct __DriverAPIRec savageAPI = {
};
-
-#ifndef DRI_NEW_INTERFACE_ONLY
-/*
- * This is the (old) bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &savageAPI);
- return (void *) psp;
-}
-#endif /* DRI_NEW_INTERFACE_ONLY */
-
-
-
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
savageFillInModes( unsigned pixel_bits, unsigned depth_bits,
unsigned stencil_bits, GLboolean have_back_buffer )
@@ -1019,7 +998,7 @@ savageFillInModes( unsigned pixel_bits, unsigned depth_bits,
* failure.
*/
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -1060,4 +1039,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/sis/sis_screen.c b/src/mesa/drivers/dri/sis/sis_screen.c
index e6c398f4e28..56585d3cdd2 100644
--- a/src/mesa/drivers/dri/sis/sis_screen.c
+++ b/src/mesa/drivers/dri/sis/sis_screen.c
@@ -59,11 +59,8 @@ DRI_CONF_BEGIN
DRI_CONF_END;
static const GLuint __driNConfigOptions = 2;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
sisFillInModes(int bpp)
{
@@ -123,7 +120,7 @@ sisFillInModes(int bpp)
return modes;
}
-#endif /* USE_NEW_INTERFACE */
+
/* Create the device specific screen private data struct.
*/
@@ -133,11 +130,6 @@ sisCreateScreen( __DRIscreenPrivate *sPriv )
sisScreenPtr sisScreen;
SISDRIPtr sisDRIPriv = (SISDRIPtr)sPriv->pDevPriv;
-#ifndef USE_NEW_INTERFACE
- /* XXX Should this still be around for the old interface? */
- if ( !driCheckDriDdxDrmVersions( sPriv, "SiS", 4, 0, 0, 1, 1, 0 ) )
- return NULL;
-#endif
/* Allocate the private area */
sisScreen = (sisScreenPtr)CALLOC( sizeof(*sisScreen) );
@@ -410,20 +402,6 @@ static struct __DriverAPIRec sisAPI = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &sisAPI);
- return (void *)psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
/**
* This is the bootstrap function for the driver. libGL supplies all of the
@@ -435,9 +413,8 @@ void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn,
__DRIscreen *psc,
const __GLcontextModes *modes,
const __DRIversion *ddx_version,
@@ -475,4 +452,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
return (void *)psp;
}
-#endif /* USE_NEW_INTERFACE */
diff --git a/src/mesa/drivers/dri/tdfx/tdfx_screen.c b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
index f0efc278cb3..56fe39e7017 100644
--- a/src/mesa/drivers/dri/tdfx/tdfx_screen.c
+++ b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
@@ -346,11 +346,6 @@ static const struct __DriverAPIRec tdfxAPI = {
.SwapBuffersMSC = NULL
};
-#ifdef USE_NEW_INTERFACE
-/*
- * new interface code, derived from radeon_screen.c
- * XXX this may still be wrong
- */
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
static __GLcontextModes *tdfxFillInModes(unsigned pixel_bits,
@@ -432,7 +427,7 @@ static __GLcontextModes *tdfxFillInModes(unsigned pixel_bits,
* failure.
*/
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
const __DRIversion * dri_version,
@@ -477,20 +472,3 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn, __DRIscreen *psc
return (void *)psp;
}
-#endif /* USE_NEW_INTERFACE */
-
-
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &tdfxAPI);
- return (void *) psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
diff --git a/src/mesa/drivers/dri/trident/trident_context.c b/src/mesa/drivers/dri/trident/trident_context.c
index 744f384c623..9f3fb26342c 100644
--- a/src/mesa/drivers/dri/trident/trident_context.c
+++ b/src/mesa/drivers/dri/trident/trident_context.c
@@ -453,13 +453,9 @@ static struct __DriverAPIRec tridentAPI = {
tridentUnbindContext,
};
-#ifndef USE_NEW_INTERFACE
-#error trident_dri.so is new-interface only.
-#else
-
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-PUBLIC void *__driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
+PUBLIC void *__driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn,
__DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
@@ -491,10 +487,3 @@ PUBLIC void *__driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
}
return (void *) psp;
}
-
-#endif
-
-void __driRegisterExtensions(void)
-{
- /* No extensions */
-}
diff --git a/src/mesa/drivers/dri/unichrome/via_screen.c b/src/mesa/drivers/dri/unichrome/via_screen.c
index 914931593fa..4115434cf29 100644
--- a/src/mesa/drivers/dri/unichrome/via_screen.c
+++ b/src/mesa/drivers/dri/unichrome/via_screen.c
@@ -62,9 +62,7 @@ DRI_CONF_END;
static const GLuint __driNConfigOptions = 3;
-#ifdef USE_NEW_INTERFACE
static PFNGLXCREATECONTEXTMODES create_context_modes = NULL;
-#endif /* USE_NEW_INTERFACE */
static int getSwapInfo( __DRIdrawablePrivate *dPriv, __DRIswapInfo * sInfo );
@@ -100,6 +98,15 @@ viaInitDriver(__DRIscreenPrivate *sPriv)
{
viaScreenPrivate *viaScreen;
VIADRIPtr gDRIPriv = (VIADRIPtr)sPriv->pDevPriv;
+ PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
+ (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress(
+ (const GLubyte *) "__glXScrEnableExtension" );
+ void * const psc = sPriv->psc->screenConfigs;
+
+
+ if ( glx_enable_extension == NULL ) {
+ return GL_FALSE;
+ }
/* Allocate the private area */
@@ -170,30 +177,13 @@ viaInitDriver(__DRIscreenPrivate *sPriv)
viaScreen->sareaPrivOffset = gDRIPriv->sarea_priv_offset;
+ if ( viaScreen->irqEnabled ) {
+ (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
+ (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
+ }
-
- if ( driCompareGLXAPIVersion( 20030813 ) >= 0 ) {
- PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension =
- (PFNGLXSCRENABLEEXTENSIONPROC) glXGetProcAddress(
- (const GLubyte *) "__glXScrEnableExtension" );
- void * const psc = sPriv->psc->screenConfigs;
-
- if ( glx_enable_extension != NULL ) {
- if ( viaScreen->irqEnabled ) {
- (*glx_enable_extension)( psc, "GLX_SGI_swap_control" );
- (*glx_enable_extension)( psc, "GLX_SGI_video_sync" );
- (*glx_enable_extension)( psc, "GLX_MESA_swap_control" );
- }
-
- (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
-
- if ( driCompareGLXAPIVersion( 20030915 ) >= 0 ) {
- (*glx_enable_extension)( psc, "GLX_SGIX_fbconfig" );
- (*glx_enable_extension)( psc, "GLX_OML_swap_method" );
- }
-
- }
- }
+ (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
return GL_TRUE;
}
@@ -340,23 +330,6 @@ static struct __DriverAPIRec viaAPI = {
};
-/*
- * This is the bootstrap function for the driver.
- * The __driCreateScreen name is the symbol that libGL.so fetches.
- * Return: pointer to a __DRIscreenPrivate.
- */
-#if !defined(DRI_NEW_INTERFACE_ONLY)
-void *__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
- int numConfigs, __GLXvisualConfig *config)
-{
- __DRIscreenPrivate *psp;
- psp = __driUtilCreateScreen(dpy, scrn, psc, numConfigs, config, &viaAPI);
- return (void *)psp;
-}
-#endif /* !defined(DRI_NEW_INTERFACE_ONLY) */
-
-
-#ifdef USE_NEW_INTERFACE
static __GLcontextModes *
viaFillInModes( unsigned pixel_bits, GLboolean have_back_buffer )
{
@@ -419,7 +392,6 @@ viaFillInModes( unsigned pixel_bits, GLboolean have_back_buffer )
return modes;
}
-#endif /* USE_NEW_INTERFACE */
/**
@@ -432,9 +404,8 @@ viaFillInModes( unsigned pixel_bits, GLboolean have_back_buffer )
* \return A pointer to a \c __DRIscreenPrivate on success, or \c NULL on
* failure.
*/
-#ifdef USE_NEW_INTERFACE
PUBLIC
-void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
+void * __driCreateNewScreen_20050722( __DRInativeDisplay *dpy, int scrn,
__DRIscreen *psc,
const __GLcontextModes * modes,
const __DRIversion * ddx_version,
@@ -475,7 +446,6 @@ void * __driCreateNewScreen( __DRInativeDisplay *dpy, int scrn,
fprintf(stderr, "%s - succeeded\n", __FUNCTION__);
return (void *) psp;
}
-#endif /* USE_NEW_INTERFACE */
/**