From e1a5bcb26856d35ce56f999c81e29f94a13c210c Mon Sep 17 00:00:00 2001 From: Ady Abraham Date: Wed, 17 Apr 2019 20:09:26 -0700 Subject: SurfaceFlinger: generate invalidate after setActiveConfig ag/7074109 removes the refresh from setActiveConfig. We need to make sure invalidate is called after calling setActiveConfig and to check the fence and update out internal state. Test: scroll within calendar app and observe systraces Bug: 123661966 Change-Id: Ib83949a1fe855f3852808da8c4f8b4fb55f05f8c --- services/surfaceflinger/SurfaceFlinger.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'services/surfaceflinger/SurfaceFlinger.cpp') diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 724058fc3e..bd286c349a 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -980,7 +980,7 @@ bool SurfaceFlinger::performSetActiveConfig() { if (mPreviousPresentFence != Fence::NO_FENCE && (mPreviousPresentFence->getStatus() == Fence::Status::Unsignaled)) { // fence has not signaled yet. wait for the next invalidate - repaintEverythingForHWC(); + mEventQueue->invalidateForHWC(); return true; } @@ -1031,7 +1031,7 @@ bool SurfaceFlinger::performSetActiveConfig() { // we need to submit an empty frame to HWC to start the process mCheckPendingFence = true; - + mEventQueue->invalidateForHWC(); return false; } @@ -1447,10 +1447,6 @@ void SurfaceFlinger::setRefreshRateTo(RefreshRateType refreshRate, Scheduler::Co return; } - if (desiredConfigId == display->getActiveConfig()) { - return; - } - setDesiredActiveConfig({refreshRate, desiredConfigId, event}); } -- cgit v1.2.3-59-g8ed1b