commit | a0afe2090c17be46bc53ebbf1a424b6ce891cba7 | [log] [tgz] |
---|---|---|
author | Sally Qi <sallyqi@google.com> | Tue Mar 14 16:47:39 2023 +0000 |
committer | Sally Qi <sallyqi@google.com> | Tue Mar 21 18:47:24 2023 +0000 |
tree | ee14dfb15a7a93f62b6bae47c43a9dc513e9b22b | |
parent | 50be49ca0b79463a7e32065d1ab8ce8386752dcd [diff] |
Skip transaction processing if the surface damage stays the same in Layer::setSurfaceDamageRegion. Bug: 273143519 Bug: 273149531 Test: builds Change-Id: Id4df40e869c2735ab7049eb50f07b81f56024001 Merged-In: Id4df40e869c2735ab7049eb50f07b81f56024001
diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp index 3875f15..e06f3c4 100644 --- a/services/surfaceflinger/BufferStateLayer.cpp +++ b/services/surfaceflinger/BufferStateLayer.cpp
@@ -459,6 +459,7 @@ } bool BufferStateLayer::setSurfaceDamageRegion(const Region& surfaceDamage) { + if (mDrawingState.surfaceDamageRegion.hasSameRects(surfaceDamage)) return false; mDrawingState.surfaceDamageRegion = surfaceDamage; mDrawingState.modified = true; setTransactionFlags(eTransactionNeeded);