Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Issue 2729613002: FOR DISCUSSION: Implement indirect compositing reasons for effect nodes. (Closed)

Created:
3 years, 9 months ago by chrishtr
Modified:
3 years, 9 months ago
Reviewers:
pdr., trchen
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, fmalita+watch_chromium.org, jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement indirect compositing reasons for effect nodes. The reasons can be: 1. One or more PaintChunks under an effect has a direct compositing reason. 2. PaintChunks under an effect end up in more than one cc::Layer. These are required in order to make sure that all affects are applied atomically (grouping). BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Patch Set 1 #

Patch Set 2 : none #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+84 lines, -9 lines) Patch
M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.h View 1 2 chunks +12 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp View 1 6 chunks +71 lines, -4 lines 2 comments Download

Messages

Total messages: 6 (3 generated)
chrishtr
Alternate CL to https://codereview.chromium.org/2714673002 as discussed. I ran it on fast/backgrounds/opacity-on-document-element.html and it failed, but ...
3 years, 9 months ago (2017-03-01 18:19:44 UTC) #4
trchen
I only spotted 2 bugs that are very local. Still can't convince myself the algorithm ...
3 years, 9 months ago (2017-03-01 23:02:59 UTC) #5
chrishtr
3 years, 9 months ago (2017-03-09 01:31:03 UTC) #6
FYI I did find a bug in this patch: consider paint chunks A, B, C, D.

A and B are in effect E1. C and D are in effect E2. A overlaps D.

The algorithm as written in this CL will detect that E1 should be composited in
the first
pass. In the second pass, C will be decomposited into the root layer, but D must
be composited
because it overlaps A. This results in incorrect output because E2 would end up
contributing
to two cc::Layers.

Powered by Google App Engine
This is Rietveld 408576698