Factor our mChildrenChanged from doTransaction

We are trying to eliminate the whole doTransaction traversal. Following
queued-transaction changes we can update various values on flinger
directly rather than in-directing through the main-thread.

Test: Existing tests pass. simpleperf
Bug: 186200583
Change-Id: I0536f889602ce0801e9f79881bbe1adb7b163d46
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index c6841ed..26581a0 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2942,6 +2942,11 @@
         });
     }
 
+    if (mSomeChildrenChanged) {
+        mVisibleRegionsDirty = true;
+        mSomeChildrenChanged = false;
+    }
+
     // Update transform hint
     if (transactionFlags & (eTransformHintUpdateNeeded | eDisplayTransactionNeeded)) {
         // The transform hint might have changed for some layers