[PE] Rationalize compositing triggers.
* Compute all triggers except kComboSquashableReasons, kComboCompositedDescendants and kComboAllCompositedScrollingDeterminedReasons in either style update or CompositingInputsUpdater. * Determine composited scrolling (but not the compositing trigger bit) in CompositingInputsUpdater. * Cache these results on PaintLayer. This achieves the following goals: - Separates composited scrolling and awkward LCD text decisions from the CompositingRequirementsUpdater step. - Caches more triggers, leading to faster compositing updates in some cases - Unblocks CL 1072155 Summary of implementation approach: 1. Dirty compositing inputs for all triggers computed there. 2. Compute, and cache on PaintLayer, kComboAllDirectNonStyleDeterminedReasons during CompositingInputsUpdater. 3. Compute and cache a new DescendantHasDirectCompositingReason dirty bit on PaintLayer. 4. Update composited scrolling in PaintLayerScrollableArea during CompositingInputsUpdater. This includes the root layer, which uses DescendantHasDirectCompositingReason as one of its triggers. Bug:814439,782991 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I21095762cbf806008395c2cf79f4ee038c39cb5f Reviewed-on: https://chromium-review.googlesource.com/1087791 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by:Tien-Ren Chen <trchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#565925}
Showing
Please register or sign in to comment