From 8c17384a5edd027376926b857af1fb170dbe9b43 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Sun, 20 Sep 2009 16:01:02 -0700 Subject: log an error when loading an existing GL driver fails --- opengl/libs/EGL/Loader.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'opengl/libs/EGL/Loader.cpp') diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp index d51b333..7e7da1b 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp @@ -222,19 +222,28 @@ void Loader::init_api(void* dso, } } -void *Loader::load_driver(const char* driver, gl_hooks_t* hooks, uint32_t mask) +void *Loader::load_driver(const char* driver_absolute_path, + gl_hooks_t* hooks, uint32_t mask) { - void* dso = dlopen(driver, RTLD_NOW | RTLD_LOCAL); - if (dso == 0) + if (access(driver_absolute_path, R_OK)) { + // this happens often, we don't want to log an error return 0; + } + + void* dso = dlopen(driver_absolute_path, RTLD_NOW | RTLD_LOCAL); + if (dso == 0) { + const char* err = dlerror(); + LOGE("load_driver(%s): %s", driver_absolute_path, err?err:"unknown"); + return 0; + } - LOGD("loaded %s", driver); + LOGD("loaded %s", driver_absolute_path); if (mask & EGL) { getProcAddress = (getProcAddressType)dlsym(dso, "eglGetProcAddress"); LOGE_IF(!getProcAddress, - "can't find eglGetProcAddress() in %s", driver); + "can't find eglGetProcAddress() in %s", driver_absolute_path); gl_hooks_t::egl_t* egl = &hooks->egl; __eglMustCastToProperFunctionPointerType* curr = -- cgit v1.1