Send multiple scheduler frame timelines (fix).
Fix the revert and added extra unit test asserts (fail on previous CL
but passes on this CL!!).
Bug: 198192508
Bug: 204941507
Test: atest EventThreadTest; atest ChoreographerNativeTest
Change-Id: Ib9d8df901fab72cae2cee86692d983c6e02d9c2c
diff --git a/services/surfaceflinger/Scheduler/EventThread.cpp b/services/surfaceflinger/Scheduler/EventThread.cpp
index e07eae7..455289f 100644
--- a/services/surfaceflinger/Scheduler/EventThread.cpp
+++ b/services/surfaceflinger/Scheduler/EventThread.cpp
@@ -560,8 +560,8 @@
}
}
-int64_t EventThread::generateToken(nsecs_t timestamp, nsecs_t expectedVSyncTimestamp,
- nsecs_t deadlineTimestamp) const {
+int64_t EventThread::generateToken(nsecs_t timestamp, nsecs_t deadlineTimestamp,
+ nsecs_t expectedVSyncTimestamp) const {
if (mTokenManager != nullptr) {
return mTokenManager->generateTokenForPredictions(
{timestamp, deadlineTimestamp, expectedVSyncTimestamp});
@@ -586,7 +586,7 @@
nsecs_t expectedVSync =
event.vsync.expectedVSyncTimestamp + multiplier * event.vsync.frameInterval;
event.vsync.frameTimelines[currentIndex] =
- {.vsyncId = generateToken(event.header.timestamp, expectedVSync, deadline),
+ {.vsyncId = generateToken(event.header.timestamp, deadline, expectedVSync),
.deadlineTimestamp = deadline,
.expectedVSyncTimestamp = expectedVSync};
}