summaryrefslogtreecommitdiffstats
path: root/src/egl
diff options
context:
space:
mode:
Diffstat (limited to 'src/egl')
-rw-r--r--src/egl/drivers/dri2/platform_android.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index b6d58338d46..e25a6f73ed8 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -1545,14 +1545,11 @@ EGLBoolean
dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp)
{
_EGLDevice *dev;
+ bool device_opened = false;
struct dri2_egl_display *dri2_dpy;
const char *err;
int ret;
- /* Not supported yet */
- if (disp->Options.ForceSoftware)
- return EGL_FALSE;
-
dri2_dpy = calloc(1, sizeof(*dri2_dpy));
if (!dri2_dpy)
return _eglError(EGL_BAD_ALLOC, "eglInitialize");
@@ -1566,8 +1563,12 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp)
}
disp->DriverData = (void *) dri2_dpy;
+ if (!disp->Options.ForceSoftware)
+ device_opened = droid_open_device(disp, false);
+ if (!device_opened)
+ device_opened = droid_open_device(disp, true);
- if (!droid_open_device(disp, false)) {
+ if (!device_opened) {
err = "DRI2: failed to open device";
goto cleanup;
}