summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/BufferLayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/BufferLayer.cpp')
-rw-r--r--services/surfaceflinger/BufferLayer.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/services/surfaceflinger/BufferLayer.cpp b/services/surfaceflinger/BufferLayer.cpp
index b7b4a445c7..ddf6f10d2b 100644
--- a/services/surfaceflinger/BufferLayer.cpp
+++ b/services/surfaceflinger/BufferLayer.cpp
@@ -571,8 +571,17 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime,
recomputeVisibleRegions = true;
}
- if (mFlinger->mSmoMo) {
- mFlinger->mSmoMo->SetPresentTime(getSequence(), mBufferInfo.mDesiredPresentTime);
+ const uint32_t layerStackId = getLayerStack();
+ SmomoIntf *smoMo = nullptr;
+ for (auto &instance: mFlinger->mSmomoInstances) {
+ if (instance.layerStackId == layerStackId) {
+ smoMo = instance.smoMo;
+ break;
+ }
+ }
+
+ if (smoMo) {
+ smoMo->SetPresentTime(getSequence(), mBufferInfo.mDesiredPresentTime);
}
return true;