summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h30
-rw-r--r--src/mesa/drivers/dri/fb/fb_dri.c16
-rw-r--r--src/mesa/drivers/dri/ffb/ffb_xmesa.c16
-rw-r--r--src/mesa/drivers/dri/gamma/gamma_xmesa.c17
-rw-r--r--src/mesa/drivers/dri/i810/i810screen.c8
-rw-r--r--src/mesa/drivers/dri/i830/i830_screen.c2
-rw-r--r--src/mesa/drivers/dri/mach64/mach64_screen.c47
-rw-r--r--src/mesa/drivers/dri/mga/mga_xmesa.c9
-rw-r--r--src/mesa/drivers/dri/r128/r128_screen.c41
-rw-r--r--src/mesa/drivers/dri/r200/r200_screen.c2
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c6
-rw-r--r--src/mesa/drivers/dri/savage/savage_xmesa.c7
-rw-r--r--src/mesa/drivers/dri/savage/savagecontext.h2
-rw-r--r--src/mesa/drivers/dri/sis/sis_context.h1
-rw-r--r--src/mesa/drivers/dri/sis/sis_screen.c10
-rw-r--r--src/mesa/drivers/dri/tdfx/tdfx_screen.c9
-rw-r--r--src/mesa/drivers/dri/unichrome/via_screen.c19
-rw-r--r--src/mesa/drivers/dri/x11/x11_dri.c15
18 files changed, 77 insertions, 180 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index cd338efd791..5ecc39a69b0 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -169,36 +169,6 @@ struct __DriverAPIRec {
GLboolean (*UnbindContext)(__DRIcontextPrivate *driContextPriv);
/**
- * Full screen mode opening callback.
- *
- * \deprecated
- * Full screen functionality is no longer used by DRI. Drivers should
- * simply install a function returning \c GL_TRUE for backwards
- * compatability.
- *
- * \todo
- * Nothing calls this function anymore. Since this data structure is only
- * accessed with in the driver (i.e., libGL never sees it), we need to
- * remove the other cases that set this field and remove the field.
- */
- GLboolean (*OpenFullScreen)(__DRIcontextPrivate *driContextPriv);
-
- /**
- * Full screen mode closing callback.
- *
- * \deprecated
- * Full screen functionality is no longer used by DRI. Drivers should
- * simply install a function returning \c GL_TRUE for backwards
- * compatability.
- *
- * \todo
- * Nothing calls this function anymore. Since this data structure is only
- * accessed with in the driver (i.e., libGL never sees it), we need to
- * remove the other cases that set this field and remove the field.
- */
- GLboolean (*CloseFullScreen)(__DRIcontextPrivate *driContextPriv);
-
- /**
* Retrieves statistics about buffer swap operations. Required if
* GLX_OML_sync_control or GLX_MESA_swap_frame_usage is supported.
*/
diff --git a/src/mesa/drivers/dri/fb/fb_dri.c b/src/mesa/drivers/dri/fb/fb_dri.c
index 5b3fbd33d4d..3a388cebc1b 100644
--- a/src/mesa/drivers/dri/fb/fb_dri.c
+++ b/src/mesa/drivers/dri/fb/fb_dri.c
@@ -557,12 +557,6 @@ fbUnbindContext( __DRIcontextPrivate *driContextPriv )
return GL_TRUE;
}
-static GLboolean
-fbOpenCloseFullScreen( __DRIcontextPrivate *driContextPriv )
-{
- return GL_TRUE;
-}
-
static struct __DriverAPIRec fbAPI = {
fbInitDriver,
fbDestroyScreen,
@@ -572,12 +566,16 @@ static struct __DriverAPIRec fbAPI = {
fbDestroyBuffer,
fbSwapBuffers,
fbMakeCurrent,
- fbUnbindContext,
- fbOpenCloseFullScreen,
- fbOpenCloseFullScreen
+ fbUnbindContext
};
+void
+__driRegisterExtensions( void )
+{
+}
+
+
/*
* This is the bootstrap function for the driver.
* The __driCreateScreen name is the symbol that libGL.so fetches.
diff --git a/src/mesa/drivers/dri/ffb/ffb_xmesa.c b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
index 0fa8675e023..43c1f346610 100644
--- a/src/mesa/drivers/dri/ffb/ffb_xmesa.c
+++ b/src/mesa/drivers/dri/ffb/ffb_xmesa.c
@@ -541,18 +541,6 @@ ffbUnbindContext(__DRIcontextPrivate *driContextPriv)
return GL_TRUE;
}
-static GLboolean
-ffbOpenFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-static GLboolean
-ffbCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
void ffbXMesaUpdateState(ffbContextPtr fmesa)
{
__DRIdrawablePrivate *dPriv = fmesa->driDrawable;
@@ -581,9 +569,7 @@ static struct __DriverAPIRec ffbAPI = {
ffbDestroyBuffer,
ffbSwapBuffers,
ffbMakeCurrent,
- ffbUnbindContext,
- ffbOpenFullScreen,
- ffbCloseFullScreen
+ ffbUnbindContext
};
diff --git a/src/mesa/drivers/dri/gamma/gamma_xmesa.c b/src/mesa/drivers/dri/gamma/gamma_xmesa.c
index dfe8d41cc41..30c2ba023af 100644
--- a/src/mesa/drivers/dri/gamma/gamma_xmesa.c
+++ b/src/mesa/drivers/dri/gamma/gamma_xmesa.c
@@ -243,19 +243,6 @@ gammaUnbindContext( __DRIcontextPrivate *driContextPriv )
return GL_TRUE;
}
-static GLboolean
-gammaOpenFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-static GLboolean
-gammaCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-
static struct __DriverAPIRec gammaAPI = {
gammaInitDriver,
gammaDestroyScreen,
@@ -265,9 +252,7 @@ static struct __DriverAPIRec gammaAPI = {
gammaDestroyBuffer,
gammaSwapBuffers,
gammaMakeCurrent,
- gammaUnbindContext,
- gammaOpenFullScreen,
- gammaCloseFullScreen
+ gammaUnbindContext
};
diff --git a/src/mesa/drivers/dri/i810/i810screen.c b/src/mesa/drivers/dri/i810/i810screen.c
index 8f78a686153..39acf630e2b 100644
--- a/src/mesa/drivers/dri/i810/i810screen.c
+++ b/src/mesa/drivers/dri/i810/i810screen.c
@@ -360,12 +360,6 @@ i810DestroyBuffer(__DRIdrawablePrivate *driDrawPriv)
}
-static GLboolean
-i810OpenCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
static const struct __DriverAPIRec i810API = {
.InitDriver = i810InitDriver,
.DestroyScreen = i810DestroyScreen,
@@ -376,8 +370,6 @@ static const struct __DriverAPIRec i810API = {
.SwapBuffers = i810SwapBuffers,
.MakeCurrent = i810MakeCurrent,
.UnbindContext = i810UnbindContext,
- .OpenFullScreen = i810OpenCloseFullScreen,
- .CloseFullScreen = i810OpenCloseFullScreen,
.GetSwapInfo = NULL,
.GetMSC = NULL,
.WaitForMSC = NULL,
diff --git a/src/mesa/drivers/dri/i830/i830_screen.c b/src/mesa/drivers/dri/i830/i830_screen.c
index 9d580c78ad1..da4c94d1c32 100644
--- a/src/mesa/drivers/dri/i830/i830_screen.c
+++ b/src/mesa/drivers/dri/i830/i830_screen.c
@@ -350,8 +350,6 @@ static const struct __DriverAPIRec i830API = {
.SwapBuffers = i830SwapBuffers,
.MakeCurrent = i830MakeCurrent,
.UnbindContext = i830UnbindContext,
- .OpenFullScreen = NULL,
- .CloseFullScreen = NULL,
.GetSwapInfo = NULL,
.GetMSC = NULL,
.WaitForMSC = NULL,
diff --git a/src/mesa/drivers/dri/mach64/mach64_screen.c b/src/mesa/drivers/dri/mach64/mach64_screen.c
index b11a1623dad..b8115de8114 100644
--- a/src/mesa/drivers/dri/mach64/mach64_screen.c
+++ b/src/mesa/drivers/dri/mach64/mach64_screen.c
@@ -26,7 +26,7 @@
* Authors:
* Gareth Hughes <[email protected]>
* Leif Delgass <[email protected]>
- * Jos� Fonseca <[email protected]>
+ * Jos�Fonseca <[email protected]>
*/
#include "mach64_context.h"
@@ -359,23 +359,6 @@ mach64DestroyScreen( __DRIscreenPrivate *driScreen )
driScreen->private = NULL;
}
-/* Initialize the fullscreen mode.
- */
-static GLboolean
-mach64OpenFullScreen( __DRIcontextPrivate *driContextPriv )
-{
- return GL_TRUE;
-}
-
-/* Shut down the fullscreen mode.
- */
-static GLboolean
-mach64CloseFullScreen( __DRIcontextPrivate *driContextPriv )
-{
- return GL_TRUE;
-}
-
-
/* Create and initialize the Mesa and driver specific pixmap buffer
* data.
*/
@@ -443,6 +426,32 @@ mach64InitDriver( __DRIscreenPrivate *driScreen )
return GL_TRUE;
}
+#ifndef _SOLO
+/* This function is called by libGL.so as soon as libGL.so is loaded.
+ * This is where we register new extension functions with the dispatcher.
+ */
+void __driRegisterExtensions( void )
+{
+#if 0
+ /* KW: This is handled differently in the other drivers, not sure
+ * what to do here.
+ */
+ PFNGLXENABLEEXTENSIONPROC glx_enable_extension;
+
+ if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
+ glx_enable_extension = (PFNGLXENABLEEXTENSIONPROC)
+ glXGetProcAddress( (const GLubyte *) "__glXEnableExtension" );
+
+ if ( glx_enable_extension != NULL ) {
+ glx_enable_extension( "GLX_SGI_swap_control", GL_FALSE );
+ glx_enable_extension( "GLX_SGI_video_sync", GL_FALSE );
+ glx_enable_extension( "GLX_MESA_swap_control", GL_FALSE );
+ }
+ }
+#endif
+}
+#endif
+
static struct __DriverAPIRec mach64API = {
.InitDriver = mach64InitDriver,
.DestroyScreen = mach64DestroyScreen,
@@ -453,8 +462,6 @@ static struct __DriverAPIRec mach64API = {
.SwapBuffers = mach64SwapBuffers,
.MakeCurrent = mach64MakeCurrent,
.UnbindContext = mach64UnbindContext,
- .OpenFullScreen = mach64OpenFullScreen,
- .CloseFullScreen = mach64CloseFullScreen,
.GetSwapInfo = NULL,
.GetMSC = driGetMSC32,
.WaitForMSC = driWaitForMSC32,
diff --git a/src/mesa/drivers/dri/mga/mga_xmesa.c b/src/mesa/drivers/dri/mga/mga_xmesa.c
index 358c599ebac..e0f3a024fcf 100644
--- a/src/mesa/drivers/dri/mga/mga_xmesa.c
+++ b/src/mesa/drivers/dri/mga/mga_xmesa.c
@@ -814,13 +814,6 @@ mgaUnbindContext(__DRIcontextPrivate *driContextPriv)
return GL_TRUE;
}
-static GLboolean
-mgaOpenCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-
/* This looks buggy to me - the 'b' variable isn't used anywhere...
* Hmm - It seems that the drawable is already hooked in to
* driDrawablePriv.
@@ -906,8 +899,6 @@ static const struct __DriverAPIRec mgaAPI = {
.SwapBuffers = mgaSwapBuffers,
.MakeCurrent = mgaMakeCurrent,
.UnbindContext = mgaUnbindContext,
- .OpenFullScreen = mgaOpenCloseFullScreen,
- .CloseFullScreen = mgaOpenCloseFullScreen,
.GetSwapInfo = getSwapInfo,
.GetMSC = driGetMSC32,
.WaitForMSC = driWaitForMSC32,
diff --git a/src/mesa/drivers/dri/r128/r128_screen.c b/src/mesa/drivers/dri/r128/r128_screen.c
index 48a17ab172b..26185fa0626 100644
--- a/src/mesa/drivers/dri/r128/r128_screen.c
+++ b/src/mesa/drivers/dri/r128/r128_screen.c
@@ -254,15 +254,6 @@ r128DestroyScreen( __DRIscreenPrivate *sPriv )
}
-/* Initialize the fullscreen mode.
- */
-static GLboolean
-r128OpenCloseFullScreen( __DRIcontextPrivate *driContextPriv )
-{
- return GL_TRUE;
-}
-
-
/* Create and initialize the Mesa and driver specific pixmap buffer
* data.
*/
@@ -335,6 +326,36 @@ r128InitDriver( __DRIscreenPrivate *sPriv )
return GL_TRUE;
}
+#ifndef _SOLO
+/**
+ * This function is called by libGL.so as soon as libGL.so is loaded.
+ * This is where we register new extension functions with the dispatcher.
+ *
+ * \todo This interface has been deprecated, so we should probably remove
+ * this function before the next XFree86 release.
+ */
+void __driRegisterExtensions( void )
+{
+#if 0
+ /* KW: This is done slightly differently to the other drivers and
+ dri_interface.h doesn't seem to cope.
+ */
+ PFNGLXENABLEEXTENSIONPROC
+ glx_enable_extension;
+
+ if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
+ glx_enable_extension = (PFNGLXENABLEEXTENSIONPROC)
+ glXGetProcAddress( (const GLubyte *) "__glXEnableExtension" );
+
+ if ( glx_enable_extension != NULL ) {
+ glx_enable_extension( "GLX_SGI_swap_control", GL_FALSE );
+ glx_enable_extension( "GLX_SGI_video_sync", GL_FALSE );
+ glx_enable_extension( "GLX_MESA_swap_control", GL_FALSE );
+ }
+ }
+#endif
+}
+#endif
static struct __DriverAPIRec r128API = {
.InitDriver = r128InitDriver,
@@ -346,8 +367,6 @@ static struct __DriverAPIRec r128API = {
.SwapBuffers = r128SwapBuffers,
.MakeCurrent = r128MakeCurrent,
.UnbindContext = r128UnbindContext,
- .OpenFullScreen = r128OpenCloseFullScreen,
- .CloseFullScreen = r128OpenCloseFullScreen,
.GetSwapInfo = NULL,
.GetMSC = driGetMSC32,
.WaitForMSC = driWaitForMSC32,
diff --git a/src/mesa/drivers/dri/r200/r200_screen.c b/src/mesa/drivers/dri/r200/r200_screen.c
index 868f623ee86..8f473e0184a 100644
--- a/src/mesa/drivers/dri/r200/r200_screen.c
+++ b/src/mesa/drivers/dri/r200/r200_screen.c
@@ -610,8 +610,6 @@ static const struct __DriverAPIRec r200API = {
.SwapBuffers = r200SwapBuffers,
.MakeCurrent = r200MakeCurrent,
.UnbindContext = r200UnbindContext,
- .OpenFullScreen = NULL,
- .CloseFullScreen = NULL,
.GetSwapInfo = getSwapInfo,
.GetMSC = driGetMSC32,
.WaitForMSC = driWaitForMSC32,
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 25d5be5790b..6043eab334a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -526,9 +526,6 @@ radeonDestroyBuffer(__DRIdrawablePrivate *driDrawPriv)
_mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate));
}
-
-
-
static struct __DriverAPIRec radeonAPI = {
.InitDriver = radeonInitDriver,
.DestroyScreen = radeonDestroyScreen,
@@ -539,8 +536,6 @@ static struct __DriverAPIRec radeonAPI = {
.SwapBuffers = radeonSwapBuffers,
.MakeCurrent = radeonMakeCurrent,
.UnbindContext = radeonUnbindContext,
- .OpenFullScreen = NULL,
- .CloseFullScreen = NULL,
.GetSwapInfo = getSwapInfo,
.GetMSC = driGetMSC32,
.WaitForMSC = driWaitForMSC32,
@@ -549,7 +544,6 @@ static struct __DriverAPIRec radeonAPI = {
};
-
/*
* This is the bootstrap function for the driver.
* The __driCreateScreen name is the symbol that libGL.so fetches.
diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c
index fad490a958b..c6163ff5984 100644
--- a/src/mesa/drivers/dri/savage/savage_xmesa.c
+++ b/src/mesa/drivers/dri/savage/savage_xmesa.c
@@ -640,6 +640,7 @@ savageUnbindContext(__DRIcontextPrivate *driContextPriv)
return GL_TRUE;
}
+#if 0
static GLboolean
savageOpenFullScreen(__DRIcontextPrivate *driContextPriv)
{
@@ -673,7 +674,7 @@ savageCloseFullScreen(__DRIcontextPrivate *driContextPriv)
}
return GL_TRUE;
}
-
+#endif
static GLboolean
savageMakeCurrent(__DRIcontextPrivate *driContextPriv,
@@ -807,9 +808,7 @@ static const struct __DriverAPIRec savageAPI = {
savageDestroyBuffer,
savageSwapBuffers,
savageMakeCurrent,
- savageUnbindContext,
- savageOpenFullScreen,
- savageCloseFullScreen
+ savageUnbindContext
};
diff --git a/src/mesa/drivers/dri/savage/savagecontext.h b/src/mesa/drivers/dri/savage/savagecontext.h
index 34056604c3b..a50d6b0518d 100644
--- a/src/mesa/drivers/dri/savage/savagecontext.h
+++ b/src/mesa/drivers/dri/savage/savagecontext.h
@@ -214,7 +214,7 @@ struct savage_context_t {
/* use this bit to support single/double buffer */
GLuint IsDouble;
/* use this to indicate Fullscreen mode */
- GLuint IsFullScreen;
+ GLuint IsFullScreen; /* FIXME - open/close fullscreen is gone, is this needed? */
GLuint backup_frontOffset;
GLuint backup_backOffset;
GLuint backup_frontBitmapDesc;
diff --git a/src/mesa/drivers/dri/sis/sis_context.h b/src/mesa/drivers/dri/sis/sis_context.h
index 19e7afee7fc..cc35c028727 100644
--- a/src/mesa/drivers/dri/sis/sis_context.h
+++ b/src/mesa/drivers/dri/sis/sis_context.h
@@ -315,7 +315,6 @@ struct sis_context
GLint GlobalFlag;
/* Stereo */
- GLboolean isFullScreen;
GLboolean useStereo;
GLboolean stereoEnabled;
int stereo_drawIndex;
diff --git a/src/mesa/drivers/dri/sis/sis_screen.c b/src/mesa/drivers/dri/sis/sis_screen.c
index 7b1e24e5a85..df4cc7b2324 100644
--- a/src/mesa/drivers/dri/sis/sis_screen.c
+++ b/src/mesa/drivers/dri/sis/sis_screen.c
@@ -251,14 +251,6 @@ sisInitDriver( __DRIscreenPrivate *sPriv )
return GL_TRUE;
}
-/* Fullscreen mode change stub
- */
-static GLboolean
-sisOpenCloseFullScreen( __DRIcontextPrivate *driContextPriv )
-{
- return GL_TRUE;
-}
-
static struct __DriverAPIRec sisAPI = {
.InitDriver = sisInitDriver,
.DestroyScreen = sisDestroyScreen,
@@ -269,8 +261,6 @@ static struct __DriverAPIRec sisAPI = {
.SwapBuffers = sisSwapBuffers,
.MakeCurrent = sisMakeCurrent,
.UnbindContext = sisUnbindContext,
- .OpenFullScreen = sisOpenCloseFullScreen,
- .CloseFullScreen = sisOpenCloseFullScreen,
.GetSwapInfo = NULL,
.GetMSC = NULL,
.WaitForMSC = NULL,
diff --git a/src/mesa/drivers/dri/tdfx/tdfx_screen.c b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
index 370f3283c8a..d4d5515b24d 100644
--- a/src/mesa/drivers/dri/tdfx/tdfx_screen.c
+++ b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
@@ -262,13 +262,6 @@ tdfxSwapBuffers( __DRIdrawablePrivate *driDrawPriv )
}
-static GLboolean
-tdfxOpenCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-
static const struct __DriverAPIRec tdfxAPI = {
.InitDriver = tdfxInitDriver,
.DestroyScreen = tdfxDestroyScreen,
@@ -279,8 +272,6 @@ static const struct __DriverAPIRec tdfxAPI = {
.SwapBuffers = tdfxSwapBuffers,
.MakeCurrent = tdfxMakeCurrent,
.UnbindContext = tdfxUnbindContext,
- .OpenFullScreen = tdfxOpenCloseFullScreen,
- .CloseFullScreen = tdfxOpenCloseFullScreen,
.GetSwapInfo = NULL,
.GetMSC = NULL,
.WaitForMSC = NULL,
diff --git a/src/mesa/drivers/dri/unichrome/via_screen.c b/src/mesa/drivers/dri/unichrome/via_screen.c
index dd65b30f896..bbe570f222e 100644
--- a/src/mesa/drivers/dri/unichrome/via_screen.c
+++ b/src/mesa/drivers/dri/unichrome/via_screen.c
@@ -265,21 +265,6 @@ XMesaCloseFullScreen(__DRIcontextPrivate *driContextPriv)
vmesa->Setup[VIA_DESTREG_DI0] = vmesa->driScreen->front_offset;
return GL_TRUE;
}
-
-#else
-
-static GLboolean
-viaOpenFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
-static GLboolean
-viaCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
#endif
@@ -292,9 +277,7 @@ static struct __DriverAPIRec viaAPI = {
viaDestroyBuffer,
viaSwapBuffers,
viaMakeCurrent,
- viaUnbindContext,
- viaOpenFullScreen,
- viaCloseFullScreen
+ viaUnbindContext
};
diff --git a/src/mesa/drivers/dri/x11/x11_dri.c b/src/mesa/drivers/dri/x11/x11_dri.c
index cc307b0cc4b..9d92ce8dab9 100644
--- a/src/mesa/drivers/dri/x11/x11_dri.c
+++ b/src/mesa/drivers/dri/x11/x11_dri.c
@@ -430,12 +430,6 @@ x11UnbindContext(__DRIcontextPrivate *driContextPriv)
return GL_TRUE;
}
-static GLboolean
-x11OpenCloseFullScreen(__DRIcontextPrivate *driContextPriv)
-{
- return GL_TRUE;
-}
-
static struct __DriverAPIRec x11API = {
x11InitDriver,
x11DestroyScreen,
@@ -445,11 +439,14 @@ static struct __DriverAPIRec x11API = {
x11DestroyBuffer,
x11SwapBuffers,
x11MakeCurrent,
- x11UnbindContext,
- x11OpenCloseFullScreen,
- x11OpenCloseFullScreen
+ x11UnbindContext
};
+void
+__driRegisterExtensions(void)
+{
+}
+
/*
* This is the bootstrap function for the driver.
* The __driCreateScreen name is the symbol that libGL.so fetches.