summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Sarraf <asarraf@codeaurora.org>2021-11-15 17:26:28 -0800
committerAlex Sarraf <asarraf@codeaurora.org>2021-11-19 16:32:52 -0800
commitab575ea2e34872e460a49c56ff399b9b6b954655 (patch)
treeebfd918ba557e36c46efdeb17eb5927a3432dc63
parent449b4f121e9026e34d253492c866d4d1fff1e796 (diff)
sf: addPresentFence based off of vsync source
Call scheduler addPresentFence based on whether the vsync source is valid and on. Previous implementation only relied on primary internal display being on. CRs-Fixed: 3072839 Change-Id: I62157e6013d0ac0e9aa921f1b59bf2a0d805363f
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4aea4878e6..b7ab6a24d9 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3108,7 +3108,8 @@ void SurfaceFlinger::postComposition() {
mTransactionCallbackInvoker.addPresentFence(mPreviousPresentFences[0].fence);
mTransactionCallbackInvoker.sendCallbacks();
- if (display && display->isPrimary() && display->getPowerMode() == hal::PowerMode::ON &&
+ if (vSyncSource && vSyncSource == getCurrentVsyncSource() &&
+ vSyncSource->getPowerMode() == hal::PowerMode::ON &&
mPreviousPresentFences[0].fenceTime->isValid()) {
mScheduler->addPresentFence(mPreviousPresentFences[0].fenceTime);
}