diff options
author | Chih-Wei Huang <[email protected]> | 2015-05-20 11:25:30 +0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-06-09 12:25:15 -0700 |
commit | c3b5afbd4e682f76e16ea85883af571165bd24ee (patch) | |
tree | 0a9ad61bb660b25795c4f5f1520b7fb922a9604e | |
parent | ac296aee58158ccf1953e812a04f99eb5f8eb57b (diff) |
android: try to load gallium_dri.so directly
This avoids needing hardlinks between all of the DRI driver .so names,
since we're the only loader on the system.
v2: Add early exit on success (like previous block) and log message on
failure.
Signed-off-by: Chih-Wei Huang <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 82f8843e001..44a6c96ae9a 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -419,6 +419,15 @@ dri2_open_driver(_EGLDisplay *disp) /* not need continue to loop all paths once the driver is found */ if (dri2_dpy->driver != NULL) break; + +#ifdef ANDROID + snprintf(path, sizeof path, "%.*s/gallium_dri.so", len, p); + dri2_dpy->driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL); + if (dri2_dpy->driver == NULL) + _eglLog(_EGL_DEBUG, "failed to open %s: %s\n", path, dlerror()); + else + break; +#endif } if (dri2_dpy->driver == NULL) { |