egl: Some per-driver data should be per-display.

Move some fields of _EGLDriver to _EGLDisplay.  It also becomes
unnecessary to pass _EGLDisplay to drivers when _eglMain is called.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
Chia-I Wu
2009-08-13 13:38:24 +08:00
committed by Brian Paul
parent 0eaa02c836
commit 5a2c9372a0
13 changed files with 138 additions and 95 deletions

View File

@@ -245,7 +245,7 @@ _eglOpenLibrary(const char *driverName, lib_handle *handle)
* owned by the driver and freed.
*/
static _EGLDriver *
_eglLoadDriver(_EGLDisplay *dpy, char *path, char *args)
_eglLoadDriver(char *path, char *args)
{
_EGLMain_t mainFunc;
lib_handle lib;
@@ -255,7 +255,7 @@ _eglLoadDriver(_EGLDisplay *dpy, char *path, char *args)
if (!mainFunc)
return NULL;
drv = mainFunc(dpy, args);
drv = mainFunc(args);
if (!drv) {
if (lib)
close_library(lib);
@@ -332,13 +332,10 @@ _eglPreloadDriver(_EGLDisplay *dpy)
}
}
drv = _eglLoadDriver(dpy, path, args);
drv = _eglLoadDriver(path, args);
if (!drv)
return NULL;
/* update the global notion of supported APIs */
_eglGlobal.ClientAPIsMask |= drv->ClientAPIsMask;
_eglGlobal.Drivers[_eglGlobal.NumDrivers++] = drv;
return drv->Name;