summaryrefslogtreecommitdiffstats
path: root/src/glx/x11/glxext.c
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2008-03-07 01:37:08 -0500
committerKristian Høgsberg <[email protected]>2008-03-08 16:19:39 -0500
commit0f2723cacbaf9b27ecb8d13581f4b72ff86dd911 (patch)
tree38abc6f5fd165fc49650a69e4d783ff0e7f2ad9f /src/glx/x11/glxext.c
parent890d44e54f2c800f066f59eb074ad09e14d54483 (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.c11
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);