summaryrefslogtreecommitdiff
path: root/src/glx/x11/glxclient.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-03-07 01:37:08 -0500
committerKristian Høgsberg <krh@redhat.com>2008-03-08 16:19:39 -0500
commit0f2723cacbaf9b27ecb8d13581f4b72ff86dd911 (patch)
tree38abc6f5fd165fc49650a69e4d783ff0e7f2ad9f /src/glx/x11/glxclient.h
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/glxclient.h')
-rw-r--r--src/glx/x11/glxclient.h22
1 files changed, 2 insertions, 20 deletions
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;