diff options
author | Kristian Høgsberg <[email protected]> | 2008-03-07 01:37:08 -0500 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2008-03-08 16:19:39 -0500 |
commit | 0f2723cacbaf9b27ecb8d13581f4b72ff86dd911 (patch) | |
tree | 38abc6f5fd165fc49650a69e4d783ff0e7f2ad9f /src/glx/x11/glxext.c | |
parent | 890d44e54f2c800f066f59eb074ad09e14d54483 (diff) |
Simplify dri loading code by eliminating dlopen "cache".
No need to jump through hoops to track __DRIdrivers and avoid dlopening the
same .so more than twice, dlopen() does this internally. Besides, we
were already bypassing this and dlopening drivers for each screen,
whether or not they were already dlopened.
Diffstat (limited to 'src/glx/x11/glxext.c')
-rw-r--r-- | src/glx/x11/glxext.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c index e07312214be..61352a6098e 100644 --- a/src/glx/x11/glxext.c +++ b/src/glx/x11/glxext.c @@ -358,12 +358,7 @@ static void FreeScreenConfigs(__GLXdisplayPrivate *priv) Xfree((char*) psc->serverGLXexts); #ifdef GLX_DIRECT_RENDERING - /* Free the direct rendering per screen data */ - if (psc->driScreen.private) - (*psc->driScreen.destroyScreen)(&psc->driScreen); - psc->driScreen.private = NULL; - if (psc->drawHash) - __glxHashDestroy(psc->drawHash); + driDestroyScreen(psc); #endif } XFree((char*) priv->screenConfigs); @@ -394,10 +389,6 @@ static int __glXFreeDisplayPrivate(XExtData *extension) (*priv->driDisplay.destroyDisplay)(priv->dpy, priv->driDisplay.private); priv->driDisplay.private = NULL; - if (priv->driDisplay.createNewScreen) { - Xfree(priv->driDisplay.createNewScreen); /* free array of ptrs */ - priv->driDisplay.createNewScreen = NULL; - } #endif Xfree((char*) priv); |