diff options
-rw-r--r-- | src/egl/main/egldriver.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 218b3daef25..46814448f3d 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -39,6 +39,10 @@ #include <stdlib.h> #include "c11/threads.h" +#ifdef HAVE_ANDROID_PLATFORM +#include <cutils/properties.h> +#endif + #include "egldefines.h" #include "egldisplay.h" #include "egldriver.h" @@ -87,6 +91,12 @@ _eglMatchDriver(_EGLDisplay *dpy) dpy->Options.ForceSoftware = env_var_as_boolean("LIBGL_ALWAYS_SOFTWARE", false); +#ifdef HAVE_ANDROID_PLATFORM + char prop_val[PROPERTY_VALUE_MAX]; + property_get("drm.gpu.force_software", prop_val, "0"); + dpy->Options.ForceSoftware |= strncmp(prop_val, "0", PROPERTY_VALUE_MAX) != 0; +#endif + best_drv = _eglMatchAndInitialize(dpy); if (!best_drv && !dpy->Options.ForceSoftware) { dpy->Options.ForceSoftware = EGL_TRUE; |