diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/glx/x11/glxext.c | 14 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/common/dri_util.c | 9 | 
2 files changed, 23 insertions, 0 deletions
| diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c index ee8e238bec..cb187717f1 100644 --- a/src/glx/x11/glxext.c +++ b/src/glx/x11/glxext.c @@ -1011,6 +1011,18 @@ CallCreateNewScreen(Display *dpy, int scrn, __GLXscreenConfigs *psc,      return psp;  } + +static void queryExtensions(__GLXscreenConfigs *psc) +{ +    const __DRIextension **extensions; +    int i; + +    extensions = psc->driScreen.getExtensions(&psc->driScreen); +    for (i = 0; extensions[i]; i++) { +	/* Unknown extension, just ignore... */ +    } +} +  #endif /* GLX_DIRECT_RENDERING */ @@ -1205,6 +1217,8 @@ static Bool AllocAndFetchScreenConfigs(Display *dpy, __GLXdisplayPrivate *priv)  		    CallCreateNewScreen(dpy, i, psc,  					& priv->driDisplay,  					priv->driDisplay.createNewScreen[i] ); +		if (psc->driScreen.private != NULL) +		    queryExtensions(psc);  	    }  	}  #endif diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index 84a6d819de..c8be7b0706 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -624,6 +624,14 @@ driCreateNewContext(__DRIscreen *screen, const __GLcontextModes *modes,  }  /*@}*/ +static const __DRIextension ** +driGetExtensions(__DRIscreen *screen) +{ +    __DRIscreenPrivate *psp = screen->private; +    static const __DRIextension *extensions[1]; + +    return extensions; +}  /*****************************************************************/  /** \name Screen handling functions                              */ @@ -750,6 +758,7 @@ void * __DRI_CREATE_NEW_SCREEN( int scrn, __DRIscreen *psc,      psp->dummyContextPriv.driScreenPriv = NULL;      psc->destroyScreen     = driDestroyScreen; +    psc->getExtensions     = driGetExtensions;      psc->createNewDrawable = driCreateNewDrawable;      psc->getMSC            = driGetMSC;      psc->createNewContext  = driCreateNewContext; | 
