mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-19 14:30:39 +02:00
glxEnableExtension is a platform-specific function exported by the loader.
Therefore, drivers should not require it to run.
This commit is contained in:
parent
68679d2b9e
commit
f7c9eafa85
9 changed files with 66 additions and 85 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue