diff options
| author | 2019-04-17 20:09:26 -0700 | |
|---|---|---|
| committer | 2019-04-23 21:21:57 +0000 | |
| commit | e1a5bcb26856d35ce56f999c81e29f94a13c210c (patch) | |
| tree | b3e643efb2b880623f53e517d585283538342f72 | |
| parent | 325eb208951f82e8c1973e30fb152f42adb36c4d (diff) | |
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
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
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}); } |