diff options
author | Chia-I Wu <[email protected]> | 2010-06-17 23:45:41 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2010-06-29 17:16:19 +0800 |
commit | ea05299ce54ea0463626277907cab8e849884740 (patch) | |
tree | 427d55a566a49372dfe259bcdd6de3dabad900ad /src/egl/main/egldriver.c | |
parent | f66a4e20c19d55005854bbee312947ec16e287e3 (diff) |
st/egl: One driver per hardware.
Merge multiple egl_<platform>_<pipe>.so into a single
egl_gallium_<pipe>.so. The environment variable EGL_PLATFORM is now
used to modify the return value of _eglGetNativePlatform.
Diffstat (limited to 'src/egl/main/egldriver.c')
-rw-r--r-- | src/egl/main/egldriver.c | 42 |
1 files changed, 6 insertions, 36 deletions
diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index db7b4a7471e..c65df286454 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -39,7 +39,7 @@ /* XXX Need to decide how to do dynamic name lookup on Windows */ static const char *DefaultDriverNames[] = { - "egl_gdi_swrast" + "egl_gallium_swrast" }; typedef HMODULE lib_handle; @@ -464,36 +464,16 @@ _eglPreloadUserDriver(void) /** - * Preload platform drivers. - * - * Platform drivers are a set of drivers that support a certain window system. - * The window system may be specified by EGL_PLATFORM. + * Preload Gallium drivers. * * FIXME This makes libEGL a memory hog if an user driver is not specified and - * there are many platform drivers. + * there are many Gallium drivers */ static EGLBoolean -_eglPreloadPlatformDrivers(void) +_eglPreloadGalliumDrivers(void) { - const char *dpy; - char prefix[32]; - int ret; - - dpy = getenv("EGL_PLATFORM"); - /* try deprecated env variable */ - if (!dpy || !dpy[0]) - dpy = getenv("EGL_DISPLAY"); - if (!dpy || !dpy[0]) - dpy = _EGL_DEFAULT_PLATFORM; - if (!dpy || !dpy[0]) - return EGL_FALSE; - - ret = _eglsnprintf(prefix, sizeof(prefix), "egl_%s_", dpy); - if (ret < 0 || ret >= sizeof(prefix)) - return EGL_FALSE; - return (_eglPreloadForEach(_eglGetSearchPath(), - _eglLoaderPattern, (void *) prefix) > 0); + _eglLoaderPattern, (void *) "egl_gallium_") > 0); } @@ -518,7 +498,7 @@ _eglPreloadDrivers(void) } loaded = (_eglPreloadUserDriver() || - _eglPreloadPlatformDrivers()); + _eglPreloadGalliumDrivers()); _eglUnlockMutex(_eglGlobal.Mutex); @@ -581,16 +561,6 @@ _eglLoadDefaultDriver(EGLDisplay dpy, EGLint *major, EGLint *minor) /** - * Return the native platform. It is the platform of the EGL native types. - */ -_EGLPlatformType -_eglGetNativePlatform(void) -{ - return _EGL_NATIVE_PLATFORM; -} - - -/** * Plug all the available fallback routines into the given driver's * dispatch table. */ |