summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/EventThread.cpp
diff options
context:
space:
mode:
author Tim Murray <timmurray@google.com> 2016-04-19 16:29:23 +0000
committer Tim Murray <timmurray@google.com> 2016-04-19 16:29:23 +0000
commit4a4e4a239f034cb8af2df9a438b26c3bc088889c (patch)
tree0096a8de0b2e5f1747bd6ac9569520230d71652a /services/surfaceflinger/EventThread.cpp
parent67264e930992e43ef3351b04692d4ca59cbb01ad (diff)
Revert "Revert "DispSync: Always resync after inactivity""
This reverts commit 67264e930992e43ef3351b04692d4ca59cbb01ad. We've fixed the kernel issues this exposed. bug 28198793 Change-Id: Ie895cc0a815094cce4bee3b2bf45800ee1e2fdc3
Diffstat (limited to 'services/surfaceflinger/EventThread.cpp')
-rw-r--r--services/surfaceflinger/EventThread.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/surfaceflinger/EventThread.cpp b/services/surfaceflinger/EventThread.cpp
index f760200006..dd88adb362 100644
--- a/services/surfaceflinger/EventThread.cpp
+++ b/services/surfaceflinger/EventThread.cpp
@@ -44,8 +44,9 @@ static void vsyncOffCallback(union sigval val) {
return;
}
-EventThread::EventThread(const sp<VSyncSource>& src)
+EventThread::EventThread(const sp<VSyncSource>& src, SurfaceFlinger& flinger)
: mVSyncSource(src),
+ mFlinger(flinger),
mUseSoftwareVSync(false),
mVsyncEnabled(false),
mDebugVsyncEnabled(false),
@@ -126,6 +127,9 @@ void EventThread::setVsyncRate(uint32_t count,
void EventThread::requestNextVsync(
const sp<EventThread::Connection>& connection) {
Mutex::Autolock _l(mLock);
+
+ mFlinger.resyncWithRateLimit();
+
if (connection->count < 0) {
connection->count = 0;
mCondition.broadcast();