SF: VSyncReactor add hwvsync ingestion functions
Adds 3 more functions from the DispSync interface to VSyncReactor,
{begin,end}Resync (not needed), and addResyncSample.
Bug: 140303479
Test: 2 new units
Change-Id: I8b1cb6991f89ce7910a144c350f12ceda82ca129
diff --git a/services/surfaceflinger/Scheduler/VSyncReactor.cpp b/services/surfaceflinger/Scheduler/VSyncReactor.cpp
index 6588d1b..f2a7791 100644
--- a/services/surfaceflinger/Scheduler/VSyncReactor.cpp
+++ b/services/surfaceflinger/Scheduler/VSyncReactor.cpp
@@ -89,10 +89,29 @@
void VSyncReactor::setPeriod(nsecs_t period) {
mTracker->setPeriod(period);
+ {
+ std::lock_guard<std::mutex> lk(mMutex);
+ mPeriodChangeInProgress = true;
+ }
}
nsecs_t VSyncReactor::getPeriod() {
return mTracker->currentPeriod();
}
+void VSyncReactor::beginResync() {}
+
+void VSyncReactor::endResync() {}
+
+bool VSyncReactor::addResyncSample(nsecs_t timestamp, bool* periodFlushed) {
+ assert(periodFlushed);
+ mTracker->addVsyncTimestamp(timestamp);
+ {
+ std::lock_guard<std::mutex> lk(mMutex);
+ *periodFlushed = mPeriodChangeInProgress;
+ mPeriodChangeInProgress = false;
+ }
+ return false;
+}
+
} // namespace android::scheduler