Loading libs/hwui/Properties.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ bool Properties::enableWebViewOverlays = true; StretchEffectBehavior Properties::stretchEffectBehavior = StretchEffectBehavior::ShaderHWUI; DrawingEnabled Properties::drawingEnabled = DrawingEnabled::NotInitialized; bool Properties::load() { bool prevDebugLayersUpdates = debugLayersUpdates; bool prevDebugOverdraw = debugOverdraw; Loading Loading @@ -143,6 +145,9 @@ bool Properties::load() { enableWebViewOverlays = base::GetBoolProperty(PROPERTY_WEBVIEW_OVERLAYS_ENABLED, true); // call isDrawingEnabled to force loading of the property isDrawingEnabled(); return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw); } Loading Loading @@ -212,5 +217,19 @@ void Properties::overrideRenderPipelineType(RenderPipelineType type, bool inUnit sRenderPipelineType = type; } void Properties::setDrawingEnabled(bool newDrawingEnabled) { drawingEnabled = newDrawingEnabled ? DrawingEnabled::On : DrawingEnabled::Off; enableRTAnimations = newDrawingEnabled; } bool Properties::isDrawingEnabled() { if (drawingEnabled == DrawingEnabled::NotInitialized) { bool drawingEnabledProp = base::GetBoolProperty(PROPERTY_DRAWING_ENABLED, true); drawingEnabled = drawingEnabledProp ? DrawingEnabled::On : DrawingEnabled::Off; enableRTAnimations = drawingEnabledProp; } return drawingEnabled == DrawingEnabled::On; } } // namespace uirenderer } // namespace android libs/hwui/Properties.h +13 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,12 @@ enum DebugLevel { */ #define PROPERTY_WEBVIEW_OVERLAYS_ENABLED "debug.hwui.webview_overlays_enabled" /** * Property for globally GL drawing state. Can be overridden per process with * setDrawingEnabled. */ #define PROPERTY_DRAWING_ENABLED "debug.hwui.drawing_enabled" /////////////////////////////////////////////////////////////////////////////// // Misc /////////////////////////////////////////////////////////////////////////////// Loading @@ -208,6 +214,8 @@ enum class StretchEffectBehavior { UniformScale // Uniform scale stretch everywhere }; enum class DrawingEnabled { NotInitialized, On, Off }; /** * Renderthread-only singleton which manages several static rendering properties. Most of these * are driven by system properties which are queried once at initialization, and again if init() Loading Loading @@ -302,6 +310,11 @@ public: stretchEffectBehavior = behavior; } // Represents if drawing is enabled. Should only be Off in headless testing environments static DrawingEnabled drawingEnabled; static bool isDrawingEnabled(); static void setDrawingEnabled(bool enable); private: static StretchEffectBehavior stretchEffectBehavior; static ProfileType sProfileType; Loading Loading
libs/hwui/Properties.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ bool Properties::enableWebViewOverlays = true; StretchEffectBehavior Properties::stretchEffectBehavior = StretchEffectBehavior::ShaderHWUI; DrawingEnabled Properties::drawingEnabled = DrawingEnabled::NotInitialized; bool Properties::load() { bool prevDebugLayersUpdates = debugLayersUpdates; bool prevDebugOverdraw = debugOverdraw; Loading Loading @@ -143,6 +145,9 @@ bool Properties::load() { enableWebViewOverlays = base::GetBoolProperty(PROPERTY_WEBVIEW_OVERLAYS_ENABLED, true); // call isDrawingEnabled to force loading of the property isDrawingEnabled(); return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw); } Loading Loading @@ -212,5 +217,19 @@ void Properties::overrideRenderPipelineType(RenderPipelineType type, bool inUnit sRenderPipelineType = type; } void Properties::setDrawingEnabled(bool newDrawingEnabled) { drawingEnabled = newDrawingEnabled ? DrawingEnabled::On : DrawingEnabled::Off; enableRTAnimations = newDrawingEnabled; } bool Properties::isDrawingEnabled() { if (drawingEnabled == DrawingEnabled::NotInitialized) { bool drawingEnabledProp = base::GetBoolProperty(PROPERTY_DRAWING_ENABLED, true); drawingEnabled = drawingEnabledProp ? DrawingEnabled::On : DrawingEnabled::Off; enableRTAnimations = drawingEnabledProp; } return drawingEnabled == DrawingEnabled::On; } } // namespace uirenderer } // namespace android
libs/hwui/Properties.h +13 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,12 @@ enum DebugLevel { */ #define PROPERTY_WEBVIEW_OVERLAYS_ENABLED "debug.hwui.webview_overlays_enabled" /** * Property for globally GL drawing state. Can be overridden per process with * setDrawingEnabled. */ #define PROPERTY_DRAWING_ENABLED "debug.hwui.drawing_enabled" /////////////////////////////////////////////////////////////////////////////// // Misc /////////////////////////////////////////////////////////////////////////////// Loading @@ -208,6 +214,8 @@ enum class StretchEffectBehavior { UniformScale // Uniform scale stretch everywhere }; enum class DrawingEnabled { NotInitialized, On, Off }; /** * Renderthread-only singleton which manages several static rendering properties. Most of these * are driven by system properties which are queried once at initialization, and again if init() Loading Loading @@ -302,6 +310,11 @@ public: stretchEffectBehavior = behavior; } // Represents if drawing is enabled. Should only be Off in headless testing environments static DrawingEnabled drawingEnabled; static bool isDrawingEnabled(); static void setDrawingEnabled(bool enable); private: static StretchEffectBehavior stretchEffectBehavior; static ProfileType sProfileType; Loading