summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2023-02-23 01:04:21 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-02-23 01:04:21 +0000
commitb7e106b19edc0e5a4f3dff0ccdbedd8ef4ea07e4 (patch)
tree31f67f4151e6dae1d723f7265503758e84d73305 /services/surfaceflinger/SurfaceFlinger.cpp
parenta9bc4049b02163122c5f21b6051deec4ad993b52 (diff)
parenta156f48c32eac7e11d37700fdbfcdc3a54d65b78 (diff)
Merge "[sf] update latch time only for layers that will not be latched" into udc-dev
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 51dc02c9c4..c91ad49c9a 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3863,7 +3863,7 @@ void SurfaceFlinger::commitOffscreenLayers() {
for (Layer* offscreenLayer : mOffscreenLayers) {
offscreenLayer->traverse(LayerVector::StateSet::Drawing, [](Layer* layer) {
if (layer->clearTransactionFlags(eTransactionNeeded)) {
- layer->doTransaction(0, 0);
+ layer->doTransaction(0);
layer->commitChildList();
}
});
@@ -3899,7 +3899,7 @@ bool SurfaceFlinger::latchBuffers() {
// second frame. But layer 0's second frame could be waiting on display.
mDrawingState.traverse([&](Layer* layer) {
if (layer->clearTransactionFlags(eTransactionNeeded) || mForceTransactionDisplayChange) {
- const uint32_t flags = layer->doTransaction(0, latchTime);
+ const uint32_t flags = layer->doTransaction(0);
if (flags & Layer::eVisibleRegion) {
mVisibleRegionsDirty = true;
}
@@ -3910,6 +3910,8 @@ bool SurfaceFlinger::latchBuffers() {
mLayersWithQueuedFrames.emplace(sp<Layer>::fromExisting(layer));
} else {
layer->useEmptyDamage();
+ // If the layer has frames we will update the latch time when latching the buffer.
+ layer->updateLastLatchTime(latchTime);
}
});
mForceTransactionDisplayChange = false;