egl: Use _eglPreloadDrivers.
authorChia-I Wu <olvaffe@gmail.com>
Tue, 19 Jan 2010 10:29:21 +0000 (18:29 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Wed, 20 Jan 2010 09:40:07 +0000 (17:40 +0800)
Replace the use of _eglPreloadDriver by _eglPreloadDrivers.  The latter
supports EGL_DISPLAY which have a better chance to "just work".

src/egl/main/eglapi.c
src/egl/main/egldisplay.c

index 26e0602453a9293e3f06c65066768f754a9ca8cd..6e8f444d7fae29f8cbda6889b07f36cc4ed3b7bf 100644 (file)
@@ -101,6 +101,8 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
 
    drv = disp->Driver;
    if (!drv) {
+      _eglPreloadDrivers();
+
       drv = _eglOpenDriver(disp);
       if (!drv)
          return _eglError(EGL_NOT_INITIALIZED, __FUNCTION__);
@@ -710,9 +712,7 @@ void (* EGLAPIENTRY eglGetProcAddress(const char *procname))()
       }
    }
 
-   /* preload a driver if there isn't one */
-   if (!_eglGlobal.NumDrivers)
-      _eglPreloadDriver(NULL);
+   _eglPreloadDrivers();
 
    /* now loop over drivers to query their procs */
    for (i = 0; i < _eglGlobal.NumDrivers; i++) {
index 896d60dbe1027140318c8ce239c210aebef8c100..a65ac6e969c49cee6a333bf7ba6648b0adea0e9f 100644 (file)
@@ -81,12 +81,6 @@ _eglNewDisplay(NativeDisplayType nativeDisplay)
    _EGLDisplay *dpy = (_EGLDisplay *) calloc(1, sizeof(_EGLDisplay));
    if (dpy) {
       dpy->NativeDisplay = nativeDisplay;
-
-      dpy->DriverName = _eglPreloadDriver(dpy);
-      if (!dpy->DriverName) {
-         free(dpy);
-         return NULL;
-      }
    }
    return dpy;
 }