diff options
author | Gurchetan Singh <[email protected]> | 2019-03-13 10:59:59 -0700 |
---|---|---|
committer | Gurchetan Singh <[email protected]> | 2019-03-27 17:26:21 +0000 |
commit | a87096b79e649ab554e802cc5cb19817b26e9ad6 (patch) | |
tree | 40b7a3178181418df857e564752486380c2c7933 /src/egl | |
parent | d4e7982b6ef494775556de333f8ad00d082d748b (diff) |
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 <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/drivers/dri2/platform_android.c | 11 |
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; } |