Improve SurfaceFlinger PTS estimation
Get the next refresh time from DispSync instead of guessing based
on the current time.
Change-Id: I8dc72a3217bfd4e9b4c905034194d1a298cad69a
diff --git a/services/surfaceflinger/DispSync.h b/services/surfaceflinger/DispSync.h
index c2ae135..5826a78 100644
--- a/services/surfaceflinger/DispSync.h
+++ b/services/surfaceflinger/DispSync.h
@@ -83,7 +83,7 @@
bool addResyncSample(nsecs_t timestamp);
void endResync();
- // The setPreiod method sets the vsync event model's period to a specific
+ // The setPeriod method sets the vsync event model's period to a specific
// value. This should be used to prime the model when a display is first
// turned on. It should NOT be used after that.
void setPeriod(nsecs_t period);
@@ -102,6 +102,12 @@
// DispSync object.
status_t removeEventListener(const sp<Callback>& callback);
+ // computeNextRefresh computes when the next refresh is expected to begin.
+ // The periodOffset value can be used to move forward or backward; an
+ // offset of zero is the next refresh, -1 is the previous refresh, 1 is
+ // the refresh after next. etc.
+ nsecs_t computeNextRefresh(int periodOffset) const;
+
private:
void updateModelLocked();