diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-25 22:13:07 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-08-25 22:13:07 +0000 |
commit | 62d727255ece4cf02d762e13223b6081bc5d5bdd (patch) | |
tree | 394009c5592fc727ebef1b1650e0dff316102c0f | |
parent | 5b17afcfed3572215b0cf07770096c820b6940eb (diff) | |
parent | 20a6ce7d2831a01c9d0e24c2d4674e4954eec2e7 (diff) |
Snap for 10718171 from 20a6ce7d2831a01c9d0e24c2d4674e4954eec2e7 to t-keystone-qcom-release
Change-Id: Ie3f2b3314c649cac9373c0bce29a350c9bd826d6
-rw-r--r-- | core/java/android/view/WindowManagerGlobal.java | 8 |
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); } |