resolve merge conflicts of 802cc7defb to sc-v2-dev-plus-aosp

Test: Treehugger
Bug: 205221910

Merged-In: Ib69577745c26595ed3964a4341086138dd5d34b0
Change-Id: I5e138254f943cfe7528ae44cf4bac18362f58c0a
This commit is contained in:
Brett Chabot
2021-11-05 15:58:19 +00:00
2 changed files with 32 additions and 0 deletions

View File

@@ -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;
@@ -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);
}
@@ -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

View File

@@ -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
///////////////////////////////////////////////////////////////////////////////
@@ -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()
@@ -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;