glxEnableExtension is a platform-specific function exported by the loader.
authorIan Romanick <idr@us.ibm.com>
Thu, 28 Jul 2005 21:57:17 +0000 (21:57 +0000)
committerIan Romanick <idr@us.ibm.com>
Thu, 28 Jul 2005 21:57:17 +0000 (21:57 +0000)
Therefore, drivers should not require it to run.

src/mesa/drivers/dri/i830/i830_screen.c
src/mesa/drivers/dri/i915/intel_screen.c
src/mesa/drivers/dri/mach64/mach64_screen.c
src/mesa/drivers/dri/mga/mga_xmesa.c
src/mesa/drivers/dri/r128/r128_screen.c
src/mesa/drivers/dri/r200/r200_screen.c
src/mesa/drivers/dri/r300/radeon_screen.c
src/mesa/drivers/dri/radeon/radeon_screen.c
src/mesa/drivers/dri/unichrome/via_screen.c

index b1a5618f41024d4ffaac833041856861ed90eef0..af5049d62966c8de43bec398e22894c8494ec586 100644 (file)
@@ -147,10 +147,6 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv)
    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) {
@@ -286,7 +282,9 @@ static GLboolean i830InitDriver(__DRIscreenPrivate *sPriv)
    }
 #endif
 
-   (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+   if ( glx_enable_extension == NULL ) {
+      (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+   }
 
    return GL_TRUE;
 }
index e474850c6345d6ad50a8a1e1645733d7fae74a8c..f9c618e6441d101c2174fb6b1542f14086ed967e 100644 (file)
@@ -80,10 +80,6 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv)
    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) {
@@ -199,14 +195,15 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv)
       }
    }
 
-   (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+   if (glx_enable_extension == NULL) {
+      (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" );
+      (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
+   }
    
    sPriv->psc->allocateMemory = (void *) intelAllocateMemoryMESA;
    sPriv->psc->freeMemory     = (void *) intelFreeMemoryMESA;
    sPriv->psc->memoryOffset   = (void *) intelGetMemoryOffsetMESA;
 
-   (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" );
-
    return GL_TRUE;
 }
                
index df1ed92fe7da88f5bf0adffda951549484e7363f..e87c87c23979436194793cbb1fd5272d28afb41b 100644 (file)
@@ -215,10 +215,6 @@ mach64CreateScreen( __DRIscreenPrivate *sPriv )
    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;
@@ -318,13 +314,15 @@ mach64CreateScreen( __DRIscreenPrivate *sPriv )
 
    mach64Screen->driScreen = sPriv;
 
-   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" );
-   }
+   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" );
+      (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+   }
 
    return mach64Screen;
 }
index ef080b5695af60b70130e257c11e06f530e76d6f..cf3db99b937d62eaa648780e2ef0995a55bf055c 100644 (file)
@@ -201,10 +201,6 @@ mgaInitDriver(__DRIscreenPrivate *sPriv)
    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) {
@@ -233,11 +229,13 @@ mgaInitDriver(__DRIscreenPrivate *sPriv)
       }
    }
 
-   (*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 ( 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 (serverInfo->chipset != MGA_CARD_TYPE_G200 &&
        serverInfo->chipset != MGA_CARD_TYPE_G400) {
index b6177bf691d5ce7fc6258bb0ab4733e750d7655d..c1ec8cf621969e41be2f24fa785f9394896f7523 100644 (file)
@@ -103,10 +103,6 @@ r128CreateScreen( __DRIscreenPrivate *sPriv )
    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;
@@ -218,13 +214,15 @@ r128CreateScreen( __DRIscreenPrivate *sPriv )
 
    r128Screen->driScreen = sPriv;
 
-   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" );
-   }
+   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" );
+      (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+   }
 
    return r128Screen;
 }
index f0e09d5fc4e4df37c9521722d4134027ea7471c0..e68f7dae8ad890fd17c407c4644630784f260e8a 100644 (file)
@@ -240,10 +240,6 @@ r200CreateScreen( __DRIscreenPrivate *sPriv )
    void * const psc = sPriv->psc->screenConfigs;
 
 
-   if ( glx_enable_extension == NULL ) {
-      return NULL;
-   }
-
    /* Allocate the private area */
    screen = (r200ScreenPtr) CALLOC( sizeof(*screen) );
    if ( !screen ) {
@@ -467,20 +463,21 @@ r200CreateScreen( __DRIscreenPrivate *sPriv )
    screen->driScreen = sPriv;
    screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
 
-   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" );
+      (*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" );
-
    return screen;
 }
 
index 18919ddeb126eccda50f93264ec6a2ff0d2c07c0..466e6b0409e6315edeac5265f5660885e3a89b01 100644 (file)
@@ -316,10 +316,6 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
        void *const psc = sPriv->psc->screenConfigs;
 
 
-       if (glx_enable_extension == NULL) {
-               return NULL;
-       }
-
        /* Allocate the private area */
        screen = (radeonScreenPtr) CALLOC(sizeof(*screen));
        if (!screen) {
@@ -586,20 +582,24 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
        screen->driScreen = sPriv;
        screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
 
-       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");
+       }
 
 #if R200_MERGED
        sPriv->psc->allocateMemory = (void *)r200AllocateMemoryMESA;
        sPriv->psc->freeMemory = (void *)r200FreeMemoryMESA;
        sPriv->psc->memoryOffset = (void *)r200GetMemoryOffsetMESA;
 
-       (*glx_enable_extension) (psc, "GLX_MESA_allocate_memory");
+       if (glx_enable_extension == NULL) {
+               (*glx_enable_extension) (psc, "GLX_MESA_allocate_memory");
+       }
 #endif
 
        return screen;
index 0a2bb7e91611998d2304adf8b00921cbc2162f56..6822fed9ca67f2651b12221a2a32432cc8a7d27f 100644 (file)
@@ -213,10 +213,6 @@ radeonScreenPtr radeonCreateScreen( __DRIscreenPrivate *sPriv )
    void * const psc = sPriv->psc->screenConfigs;
 
 
-   if ( glx_enable_extension == NULL ) {
-      return NULL;
-   }
-
    /* Allocate the private area */
    screen = (radeonScreenPtr) CALLOC( sizeof(*screen) );
    if ( !screen ) {
@@ -395,13 +391,15 @@ radeonScreenPtr radeonCreateScreen( __DRIscreenPrivate *sPriv )
         dri_priv->log2GARTTexGran;
    }
 
-   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" );
+   }
 
    screen->driScreen = sPriv;
    screen->sarea_priv_offset = dri_priv->sarea_priv_offset;
index 2ae2322f8ac5e30852c0192414e671c01ddbec9f..b718fd446abbbd4ce681bfc031c7ed7e0fe342d4 100644 (file)
@@ -102,11 +102,6 @@ viaInitDriver(__DRIscreenPrivate *sPriv)
     void * const psc = sPriv->psc->screenConfigs;
 
 
-    if ( glx_enable_extension == NULL ) {
-       return GL_FALSE;
-    }
-
-
     /* Allocate the private area */
     viaScreen = (viaScreenPrivate *) CALLOC(sizeof(viaScreenPrivate));
     if (!viaScreen) {
@@ -175,13 +170,15 @@ 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 ( 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" );
+       (*glx_enable_extension)( psc, "GLX_MESA_swap_frame_usage" );
+    }
 
     return GL_TRUE;
 }