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 <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
Gurchetan Singh
2019-03-13 10:59:59 -07:00
parent d4e7982b6e
commit a87096b79e
+6 -5
View File
@@ -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;
}