Loading services/surfaceflinger/SurfaceFlinger.cpp +9 −7 Original line number Original line Diff line number Diff line Loading @@ -364,11 +364,8 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI property_get("ro.surface_flinger.supports_background_blur", value, "0"); property_get("ro.surface_flinger.supports_background_blur", value, "0"); bool supportsBlurs = atoi(value); bool supportsBlurs = atoi(value); property_get("debug.sf.disable_blurs", value, "0"); mSupportsBlur = supportsBlurs; bool disableBlurs = atoi(value); ALOGI_IF(!mSupportsBlur, "Disabling blur effects, they are not supported."); mEnableBlurs = supportsBlurs && !disableBlurs; ALOGI_IF(!mEnableBlurs, "Disabling blur effects. supported: %d, disabled: %d", supportsBlurs, disableBlurs); property_get("ro.sf.blurs_are_expensive", value, "0"); property_get("ro.sf.blurs_are_expensive", value, "0"); mBlursAreExpensive = atoi(value); mBlursAreExpensive = atoi(value); Loading Loading @@ -625,7 +622,7 @@ void SurfaceFlinger::init() { .setUseColorManagerment(useColorManagement) .setUseColorManagerment(useColorManagement) .setEnableProtectedContext(enable_protected_contents(false)) .setEnableProtectedContext(enable_protected_contents(false)) .setPrecacheToneMapperShaderOnly(false) .setPrecacheToneMapperShaderOnly(false) .setSupportsBackgroundBlur(mEnableBlurs) .setSupportsBackgroundBlur(mSupportsBlur) .setContextPriority(useContextPriority .setContextPriority(useContextPriority ? renderengine::RenderEngine::ContextPriority::HIGH ? renderengine::RenderEngine::ContextPriority::HIGH : renderengine::RenderEngine::ContextPriority::MEDIUM) : renderengine::RenderEngine::ContextPriority::MEDIUM) Loading Loading @@ -707,6 +704,11 @@ void SurfaceFlinger::readPersistentProperties() { property_get("persist.sys.sf.color_mode", value, "0"); property_get("persist.sys.sf.color_mode", value, "0"); mForceColorMode = static_cast<ColorMode>(atoi(value)); mForceColorMode = static_cast<ColorMode>(atoi(value)); property_get("persist.sys.sf.disable_blurs", value, "0"); bool disableBlurs = atoi(value); mDisableBlurs = disableBlurs; ALOGI_IF(disableBlurs, "Disabling blur effects, user preference."); } } void SurfaceFlinger::startBootAnim() { void SurfaceFlinger::startBootAnim() { Loading Loading @@ -3594,7 +3596,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setCornerRadius(s.cornerRadius)) if (layer->setCornerRadius(s.cornerRadius)) flags |= eTraversalNeeded; flags |= eTraversalNeeded; } } if (what & layer_state_t::eBackgroundBlurRadiusChanged) { if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs) { if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eLayerStackChanged) { if (what & layer_state_t::eLayerStackChanged) { Loading services/surfaceflinger/SurfaceFlinger.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -1060,8 +1060,10 @@ private: const std::shared_ptr<TimeStats> mTimeStats; const std::shared_ptr<TimeStats> mTimeStats; const std::unique_ptr<FrameTracer> mFrameTracer; const std::unique_ptr<FrameTracer> mFrameTracer; bool mUseHwcVirtualDisplays = false; bool mUseHwcVirtualDisplays = false; // If blurs should be enabled on this device. bool mSupportsBlur = false; // Disable blurs, for debugging // Disable blurs, for debugging bool mEnableBlurs = false; std::atomic<bool> mDisableBlurs = false; // If blurs are considered expensive and should require high GPU frequency. // If blurs are considered expensive and should require high GPU frequency. bool mBlursAreExpensive = false; bool mBlursAreExpensive = false; std::atomic<uint32_t> mFrameMissedCount = 0; std::atomic<uint32_t> mFrameMissedCount = 0; Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +9 −7 Original line number Original line Diff line number Diff line Loading @@ -364,11 +364,8 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI property_get("ro.surface_flinger.supports_background_blur", value, "0"); property_get("ro.surface_flinger.supports_background_blur", value, "0"); bool supportsBlurs = atoi(value); bool supportsBlurs = atoi(value); property_get("debug.sf.disable_blurs", value, "0"); mSupportsBlur = supportsBlurs; bool disableBlurs = atoi(value); ALOGI_IF(!mSupportsBlur, "Disabling blur effects, they are not supported."); mEnableBlurs = supportsBlurs && !disableBlurs; ALOGI_IF(!mEnableBlurs, "Disabling blur effects. supported: %d, disabled: %d", supportsBlurs, disableBlurs); property_get("ro.sf.blurs_are_expensive", value, "0"); property_get("ro.sf.blurs_are_expensive", value, "0"); mBlursAreExpensive = atoi(value); mBlursAreExpensive = atoi(value); Loading Loading @@ -625,7 +622,7 @@ void SurfaceFlinger::init() { .setUseColorManagerment(useColorManagement) .setUseColorManagerment(useColorManagement) .setEnableProtectedContext(enable_protected_contents(false)) .setEnableProtectedContext(enable_protected_contents(false)) .setPrecacheToneMapperShaderOnly(false) .setPrecacheToneMapperShaderOnly(false) .setSupportsBackgroundBlur(mEnableBlurs) .setSupportsBackgroundBlur(mSupportsBlur) .setContextPriority(useContextPriority .setContextPriority(useContextPriority ? renderengine::RenderEngine::ContextPriority::HIGH ? renderengine::RenderEngine::ContextPriority::HIGH : renderengine::RenderEngine::ContextPriority::MEDIUM) : renderengine::RenderEngine::ContextPriority::MEDIUM) Loading Loading @@ -707,6 +704,11 @@ void SurfaceFlinger::readPersistentProperties() { property_get("persist.sys.sf.color_mode", value, "0"); property_get("persist.sys.sf.color_mode", value, "0"); mForceColorMode = static_cast<ColorMode>(atoi(value)); mForceColorMode = static_cast<ColorMode>(atoi(value)); property_get("persist.sys.sf.disable_blurs", value, "0"); bool disableBlurs = atoi(value); mDisableBlurs = disableBlurs; ALOGI_IF(disableBlurs, "Disabling blur effects, user preference."); } } void SurfaceFlinger::startBootAnim() { void SurfaceFlinger::startBootAnim() { Loading Loading @@ -3594,7 +3596,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( if (layer->setCornerRadius(s.cornerRadius)) if (layer->setCornerRadius(s.cornerRadius)) flags |= eTraversalNeeded; flags |= eTraversalNeeded; } } if (what & layer_state_t::eBackgroundBlurRadiusChanged) { if (what & layer_state_t::eBackgroundBlurRadiusChanged && !mDisableBlurs) { if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; if (layer->setBackgroundBlurRadius(s.backgroundBlurRadius)) flags |= eTraversalNeeded; } } if (what & layer_state_t::eLayerStackChanged) { if (what & layer_state_t::eLayerStackChanged) { Loading
services/surfaceflinger/SurfaceFlinger.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -1060,8 +1060,10 @@ private: const std::shared_ptr<TimeStats> mTimeStats; const std::shared_ptr<TimeStats> mTimeStats; const std::unique_ptr<FrameTracer> mFrameTracer; const std::unique_ptr<FrameTracer> mFrameTracer; bool mUseHwcVirtualDisplays = false; bool mUseHwcVirtualDisplays = false; // If blurs should be enabled on this device. bool mSupportsBlur = false; // Disable blurs, for debugging // Disable blurs, for debugging bool mEnableBlurs = false; std::atomic<bool> mDisableBlurs = false; // If blurs are considered expensive and should require high GPU frequency. // If blurs are considered expensive and should require high GPU frequency. bool mBlursAreExpensive = false; bool mBlursAreExpensive = false; std::atomic<uint32_t> mFrameMissedCount = 0; std::atomic<uint32_t> mFrameMissedCount = 0; Loading