SF: Restore geometry state when it had been overridden
The geometry state of a flattened layer was overridden when layer cache
was applied. When the layer cache is invalid, it is necessary to restore
the geometry state back to original.
Bug: 184729207
Test: libcompositionengine_test
Test: Enable SF cache with smooth display
Change-Id: Id721cd451209ab50e5cd8badf5f3e0917506e728
diff --git a/services/surfaceflinger/CompositionEngine/src/Output.cpp b/services/surfaceflinger/CompositionEngine/src/Output.cpp
index aed3be9..e42be17 100644
--- a/services/surfaceflinger/CompositionEngine/src/Output.cpp
+++ b/services/surfaceflinger/CompositionEngine/src/Output.cpp
@@ -722,10 +722,7 @@
previousOverride = layer->getState().overrideInfo.buffer;
}
- // TODO(b/181172795): We now update geometry for all flattened layers. We should update it
- // only when the geometry actually changes
- const bool includeGeometry = refreshArgs.updatingGeometryThisFrame ||
- layer->getState().overrideInfo.buffer != nullptr || skipLayer;
+ const bool includeGeometry = refreshArgs.updatingGeometryThisFrame;
layer->writeStateToHWC(includeGeometry, skipLayer);
}
}