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);