summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-08-25 22:13:07 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-08-25 22:13:07 +0000
commit62d727255ece4cf02d762e13223b6081bc5d5bdd (patch)
tree394009c5592fc727ebef1b1650e0dff316102c0f
parent5b17afcfed3572215b0cf07770096c820b6940eb (diff)
parent20a6ce7d2831a01c9d0e24c2d4674e4954eec2e7 (diff)
Snap for 10718171 from 20a6ce7d2831a01c9d0e24c2d4674e4954eec2e7 to t-keystone-qcom-release
Change-Id: Ie3f2b3314c649cac9373c0bce29a350c9bd826d6
-rw-r--r--core/java/android/view/WindowManagerGlobal.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index ae9a1220a246..1afefe5777c7 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -546,7 +546,13 @@ public final class WindowManagerGlobal {
visibleRootCount++;
}
}
- if (visibleRootCount == 1) {
+
+ // The visibleRootCount more than one means multi-layer, and multi-layer rendering
+ // can result in unexpected pending between UI thread and render thread with
+ // pre-rendering enabled. Need to disable pre-rendering for multi-layer cases.
+ if (visibleRootCount > 1) {
+ ScrollOptimizer.disableOptimizer(true);
+ } else if (visibleRootCount == 1) {
ScrollOptimizer.disableOptimizer(false);
}