SF: pass expectedPresentTime to composer
Bug: 198186194
Test: VTS
Change-Id: I1265f4f016fc83a9e730c1eb6a00532c968b0a79
diff --git a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
index 3bed796..6f2880d 100644
--- a/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
+++ b/services/surfaceflinger/DisplayHardware/AidlComposerHal.cpp
@@ -256,6 +256,7 @@
bool AidlComposer::isSupported(OptionalFeature feature) const {
switch (feature) {
case OptionalFeature::RefreshRateSwitching:
+ case OptionalFeature::ExpectedPresentTime:
return true;
}
}
@@ -580,10 +581,11 @@
return Error::NONE;
}
-Error AidlComposer::validateDisplay(Display display, uint32_t* outNumTypes,
- uint32_t* outNumRequests) {
+Error AidlComposer::validateDisplay(Display display, nsecs_t expectedPresentTime,
+ uint32_t* outNumTypes, uint32_t* outNumRequests) {
ATRACE_NAME("HwcValidateDisplay");
- mWriter.validateDisplay(translate<int64_t>(display));
+ mWriter.validateDisplay(translate<int64_t>(display),
+ ClockMonotonicTimestamp{expectedPresentTime});
Error error = execute();
if (error != Error::NONE) {
@@ -595,11 +597,12 @@
return Error::NONE;
}
-Error AidlComposer::presentOrValidateDisplay(Display display, uint32_t* outNumTypes,
- uint32_t* outNumRequests, int* outPresentFence,
- uint32_t* state) {
+Error AidlComposer::presentOrValidateDisplay(Display display, nsecs_t expectedPresentTime,
+ uint32_t* outNumTypes, uint32_t* outNumRequests,
+ int* outPresentFence, uint32_t* state) {
ATRACE_NAME("HwcPresentOrValidateDisplay");
- mWriter.presentOrvalidateDisplay(translate<int64_t>(display));
+ mWriter.presentOrvalidateDisplay(translate<int64_t>(display),
+ ClockMonotonicTimestamp{expectedPresentTime});
Error error = execute();
if (error != Error::NONE) {