summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jamie Gennis <jgennis@google.com> 2013-11-04 21:55:09 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2013-11-04 21:55:09 -0800
commit39c5ea2caaddd7ea44eaeed38d3760fbc421ad56 (patch)
treecc1da261ebde44d7c3b038b464c1c5f67f77ded3
parent18f94b1e6c489f0d68c694a197aae898c68124bb (diff)
parentee874caa81ad48d6d0ee34509d3050ca9c046676 (diff)
am ee874caa: Merge "DispSync: remove delay when enabling vsync events" into klp-dev
* commit 'ee874caa81ad48d6d0ee34509d3050ca9c046676': DispSync: remove delay when enabling vsync events
-rw-r--r--services/surfaceflinger/DispSync.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/services/surfaceflinger/DispSync.cpp b/services/surfaceflinger/DispSync.cpp
index 167c6f04be..ce07ab56c1 100644
--- a/services/surfaceflinger/DispSync.cpp
+++ b/services/surfaceflinger/DispSync.cpp
@@ -164,7 +164,14 @@ public:
EventListener listener;
listener.mPhase = phase;
listener.mCallback = callback;
- listener.mLastEventTime = systemTime(SYSTEM_TIME_MONOTONIC);
+
+ // We want to allow the firstmost future event to fire without
+ // allowing any past events to fire. Because
+ // computeListenerNextEventTimeLocked filters out events within a half
+ // a period of the last event time, we need to initialize the last
+ // event time to a half a period in the past.
+ listener.mLastEventTime = systemTime(SYSTEM_TIME_MONOTONIC) - mPeriod / 2;
+
mEventListeners.push(listener);
mCond.signal();