[Mesa-dev] [PATCH v2 2/4] egl/android: Add Android property for forcing software rendering

Robert Foss robert.foss at collabora.com
Tue Jul 17 10:32:58 UTC 2018


In order to simplify Android bringup on new devices,
provide the property "drm.gpu.force_software" which
forces kms_swrast to be used.

Signed-off-by: Robert Foss <robert.foss at collabora.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
---

Changes since RFC:
  - Fixed EGLBoolean comparison
  - Added r-b

 src/egl/main/egldriver.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

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;
-- 
2.17.1



More information about the mesa-dev mailing list