From 0f2723cacbaf9b27ecb8d13581f4b72ff86dd911 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Fri, 7 Mar 2008 01:37:08 -0500 Subject: 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. --- src/glx/x11/glxclient.h | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) (limited to 'src/glx/x11/glxclient.h') diff --git a/src/glx/x11/glxclient.h b/src/glx/x11/glxclient.h index a1fff0a65c..e62eec822e 100644 --- a/src/glx/x11/glxclient.h +++ b/src/glx/x11/glxclient.h @@ -103,24 +103,6 @@ struct __DRIdisplayRec { * \c NULL if direct rendering is not supported on this display. */ struct __DRIdisplayPrivateRec *private; - - /** - * Array of pointers to methods to create and initialize the private DRI - * screen data. - */ - PFNCREATENEWSCREENFUNC * createNewScreen; -}; - - -/* -** We keep a linked list of these structures, one per DRI device driver. -*/ -struct __DRIdriverRec { - const char *name; - const char *libpath; - void *handle; - PFNCREATENEWSCREENFUNC createNewScreenFunc; - struct __DRIdriverRec *next; }; /* @@ -130,8 +112,7 @@ struct __DRIdriverRec { extern void *driCreateDisplay(Display *dpy, __DRIdisplay *pdisp); extern void driCreateScreen(__GLXscreenConfigs *psc, int screen, __GLXdisplayPrivate *priv); - -extern __DRIdriver *driGetDriver(Display *dpy, int scrNum); +extern void driDestroyScreen(__GLXscreenConfigs *psc); extern void DRI_glXUseXFont( Font font, int first, int count, int listbase ); @@ -458,6 +439,7 @@ struct __GLXscreenConfigsRec { __glxHashTable *drawHash; Display *dpy; int scr; + void *driver; #ifdef __DRI_COPY_SUB_BUFFER __DRIcopySubBufferExtension *copySubBuffer; -- cgit v1.2.3