From a87096b79e649ab554e802cc5cb19817b26e9ad6 Mon Sep 17 00:00:00 2001 From: Gurchetan Singh Date: Wed, 13 Mar 2019 10:59:59 -0700 Subject: [PATCH] egl/android: use software rendering when appropriate Now the init logic fallbacks to or forces software rendering. v2: simplify flow (@eric) Reviewed-by: Emil Velikov Reviewed-by: Eric Engestrom --- src/egl/drivers/dri2/platform_android.c | 11 ++++++----- 1 file 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; } -- 2.30.2