From 4badfe6d3beda8e1e358334e32a95e00be39f031 Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Tue, 14 Feb 2017 11:38:06 -0500 Subject: [PATCH] Add developer setting to set the default GPU renderer. Test: manual on-device testing Bug: 35345959 Change-Id: I1d846f922a048dd215caf053b10aaa909bdbc74d --- core/java/android/view/ThreadedRenderer.java | 12 ++++++++++++ libs/hwui/Properties.cpp | 2 +- libs/hwui/Properties.h | 2 +- packages/SettingsLib/res/values/arrays.xml | 12 ++++++++++++ packages/SettingsLib/res/values/strings.xml | 3 +++ 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java index 4ceb23628fb4b..217c15278722d 100644 --- a/core/java/android/view/ThreadedRenderer.java +++ b/core/java/android/view/ThreadedRenderer.java @@ -163,6 +163,18 @@ public final class ThreadedRenderer { */ public static final String OVERDRAW_PROPERTY_SHOW = "show"; + /** + * Defines the rendering pipeline to be used by the ThreadedRenderer. + * + * Possible values: + * "opengl", will use the existing OpenGL renderer + * "skiagl", will use Skia's OpenGL renderer + * "skiavk", will use Skia's Vulkan renderer + * + * @hide + */ + public static final String DEBUG_RENDERER_PROPERTY = "debug.hwui.renderer"; + /** * Turn on to debug non-rectangular clip operations. * diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp index 09e34bf5ca15f..29312550aa562 100644 --- a/libs/hwui/Properties.cpp +++ b/libs/hwui/Properties.cpp @@ -211,7 +211,7 @@ RenderPipelineType Properties::getRenderPipelineType() { return sRenderPipelineType; } char prop[PROPERTY_VALUE_MAX]; - property_get(PROPERTY_DEFAULT_RENDERER, prop, "opengl"); + property_get(PROPERTY_RENDERER, prop, "opengl"); if (!strcmp(prop, "skiagl") ) { sRenderPipelineType = RenderPipelineType::SkiaGL; } else if (!strcmp(prop, "skiavk") ) { diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h index 6dc0cb30a25ac..9db64493928a3 100644 --- a/libs/hwui/Properties.h +++ b/libs/hwui/Properties.h @@ -156,7 +156,7 @@ enum DebugLevel { * Allows to set rendering pipeline mode to OpenGL (default), Skia OpenGL * or Vulkan. */ -#define PROPERTY_DEFAULT_RENDERER "debug.hwui.default_renderer" +#define PROPERTY_RENDERER "debug.hwui.renderer" /////////////////////////////////////////////////////////////////////////////// // Runtime configuration properties diff --git a/packages/SettingsLib/res/values/arrays.xml b/packages/SettingsLib/res/values/arrays.xml index eb64b3a9bbd92..d207c35732c83 100644 --- a/packages/SettingsLib/res/values/arrays.xml +++ b/packages/SettingsLib/res/values/arrays.xml @@ -444,6 +444,18 @@ show_deuteranomaly + + + OpenGL (Default) + OpenGL (Skia) + + + + + opengl + skiagl + + Standard limit diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 5475b325773f4..d59fc687b1cbf 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -584,6 +584,9 @@ Debug GPU overdraw + + Set GPU Renderer + Disable HW overlays