Bug 191813 - Avoid triggering compositing updates when only the root layer is composited
Summary: Avoid triggering compositing updates when only the root layer is composited
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-11-17 14:13 PST by Simon Fraser (smfr)
Modified: 2018-11-27 15:46 PST (History)
4 users (show)

See Also:


Attachments
Patch (8.44 KB, patch)
2018-11-17 14:17 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (8.40 KB, patch)
2018-11-17 15:59 PST, Simon Fraser (smfr)
zalan: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2018-11-17 14:13:57 PST
Avoid triggering compositing updates when only the root layer is composited
Comment 1 Simon Fraser (smfr) 2018-11-17 14:17:13 PST
Created attachment 355206 [details]
Patch
Comment 2 Simon Fraser (smfr) 2018-11-17 15:59:24 PST
Created attachment 355211 [details]
Patch
Comment 3 zalan 2018-11-17 16:07:36 PST
Comment on attachment 355211 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=355211&action=review

> Source/WebCore/rendering/RenderLayerCompositor.cpp:1181
> +    auto appendForegroundLayerIfNecessary = [&] () {

() can be dropped here
Comment 4 Simon Fraser (smfr) 2018-11-17 16:52:44 PST
https://trac.webkit.org/changeset/238357/webkit
Comment 5 Radar WebKit Bug Importer 2018-11-17 16:53:24 PST
<rdar://problem/46152493>
Comment 6 Truitt Savell 2018-11-26 09:54:08 PST
Looks like https://trac.webkit.org/changeset/238357/webkit

Has caused three tests to fail constantly:

css3/filters/blur-filter-page-scroll-parents.html
css3/filters/blur-filter-page-scroll-self.html
css3/filters/blur-filter-page-scroll.html

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=css3%2Ffilters%2Fblur-filter-page-scroll-parents.html%20css3%2Ffilters%2Fblur-filter-page-scroll-self.html%20css3%2Ffilters%2Fblur-filter-page-scroll.html

Diff of css3/filters/blur-filter-page-scroll-parents.html:
--- /Volumes/Data/slave/ios-simulator-12-release-tests-wk2/build/layout-test-results/css3/filters/blur-filter-page-scroll-parents-expected.txt
+++ /Volumes/Data/slave/ios-simulator-12-release-tests-wk2/build/layout-test-results/css3/filters/blur-filter-page-scroll-parents-actual.txt
@@ -9,5 +9,6 @@
   RenderBlock {DIV} at (0,0) size 800x1200
     RenderBlock {DIV} at (0,0) size 800x200 [bgcolor=#FF0000]
     RenderBlock {DIV} at (0,200) size 800x1000 [bgcolor=#008000]
-layer at (0,0) size 800x100
+layer at (0,100) size 800x100
   RenderBlock (positioned) {DIV} at (0,0) size 800x100 [bgcolor=#000000]
+scrolled to 0,100
Comment 7 Truitt Savell 2018-11-26 09:56:38 PST
Failures are on iOS Release WK2. Debug WK2 is crashing and may be unrelated.
Comment 8 Simon Fraser (smfr) 2018-11-26 10:20:34 PST
(In reply to Truitt Savell from comment #6)
> Looks like https://trac.webkit.org/changeset/238357/webkit
> 
> Has caused three tests to fail constantly:
> 
> css3/filters/blur-filter-page-scroll-parents.html
> css3/filters/blur-filter-page-scroll-self.html
> css3/filters/blur-filter-page-scroll.html
> 
> History:
> https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
> html#showAllRuns=true&tests=css3%2Ffilters%2Fblur-filter-page-scroll-parents.
> html%20css3%2Ffilters%2Fblur-filter-page-scroll-self.
> html%20css3%2Ffilters%2Fblur-filter-page-scroll.html
> 
> Diff of css3/filters/blur-filter-page-scroll-parents.html:
> ---
> /Volumes/Data/slave/ios-simulator-12-release-tests-wk2/build/layout-test-
> results/css3/filters/blur-filter-page-scroll-parents-expected.txt
> +++
> /Volumes/Data/slave/ios-simulator-12-release-tests-wk2/build/layout-test-
> results/css3/filters/blur-filter-page-scroll-parents-actual.txt
> @@ -9,5 +9,6 @@
>    RenderBlock {DIV} at (0,0) size 800x1200
>      RenderBlock {DIV} at (0,0) size 800x200 [bgcolor=#FF0000]
>      RenderBlock {DIV} at (0,200) size 800x1000 [bgcolor=#008000]
> -layer at (0,0) size 800x100
> +layer at (0,100) size 800x100
>    RenderBlock (positioned) {DIV} at (0,0) size 800x100 [bgcolor=#000000]
> +scrolled to 0,100

These tests are trying to disable accelerated compositing, which doesn't work so well in WK2.
Comment 9 Truitt Savell 2018-11-26 14:11:29 PST
it does appear this change has caused the crashing of these three tests as well. This is effecting ews so I am going to roll it out until a fix is found.
Comment 10 Truitt Savell 2018-11-26 14:22:12 PST
Reverted r238357 for reason:

Casued three css tests to fail and crash on ios sim

Committed r238523: <https://trac.webkit.org/changeset/238523>
Comment 11 Simon Fraser (smfr) 2018-11-27 15:35:12 PST
I'm going to disable those tests for iOS WK2: bug 192045
Comment 12 Simon Fraser (smfr) 2018-11-27 15:46:52 PST
https://trac.webkit.org/r238583