|
|
Created:
4 years ago by trchen Modified:
4 years ago 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, f(malita), jbroman, Justin Novosad, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Description[SPv2] Disable CompositingRecorder collapsing for SPv2
CompositingRecorder collapses its begin/end display items if there is only
one drawing display item in between. This won't work if the display item
may be layerized and the compositing operation is backdrop-dependent.
For example:
<drawing content="X"/>
<composite blend=multiply>
<drawing content="Y"/>
</composite>
Will be collapsed as:
<drawing content="X"/>
<drawing content="saveLayer(blend=multiply); Y; restore();"/>
However the result will be incorrect if the second drawing display item gets
layerized.
This CL disables this optimization in SPv2.
BUG=674805, 675805
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Committed: https://crrev.com/89df64fbe6300c209e5a3f7e2f7a30a51be8b706
Cr-Commit-Position: refs/heads/master@{#439887}
Patch Set 1 #Patch Set 2 : rebase & fix unittests #
Total comments: 1
Patch Set 3 : update layout test expectations #
Messages
Total messages: 24 (16 generated)
Description was changed from ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. In the long term we should make sure CompositingRecordere is never created in SPv2. BUG=674805 ========== to ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. In the long term we should make sure CompositingRecordere is never created in SPv2. BUG=674805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
trchen@chromium.org changed reviewers: + chrishtr@chromium.org, pdr@chromium.org
Fixes css3/blending/mix-blend-mode-with-squashing-layer.html Will affect layerization in subtle way. I expect it introduce more rounding image failures.
The CQ bit was checked by trchen@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
LGTM https://codereview.chromium.org/2580143003/diff/20001/third_party/WebKit/Sour... File third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp (right): https://codereview.chromium.org/2580143003/diff/20001/third_party/WebKit/Sour... third_party/WebKit/Source/platform/graphics/paint/CompositingRecorder.cpp:55: if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled() && lastDisplayItem && Please add a short comment here describing why we skip this for spv2
We will need to implement this optimization for SPv2. Please file a bug.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_layout_te...)
Description was changed from ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. In the long term we should make sure CompositingRecordere is never created in SPv2. BUG=674805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. In the long term we should make sure CompositingRecordere is never created in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
Description was changed from ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. In the long term we should make sure CompositingRecordere is never created in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ==========
The CQ bit was checked by trchen@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Okay I just updated the layout test expectations. Now all the unsupported effects (namely, all SVG effects except filter) failed as expected. https://codereview.chromium.org/2570223002/ will restore SVG opacity & blending. Then next we'll implement clip-path and mask.
On 2016/12/20 at 02:09:28, trchen wrote: > Okay I just updated the layout test expectations. Now all the unsupported effects (namely, all SVG effects except filter) failed as expected. > https://codereview.chromium.org/2570223002/ will restore SVG opacity & blending. Then next we'll implement clip-path and mask. LGTM
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by trchen@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 40001, "attempt_start_ts": 1482271096131370, "parent_rev": "439607db2ef3c0839a497b2fca09f91ab9d1c0c6", "commit_rev": "3c2f50251637165ae33dac90295876ecf91c87a3"}
Message was sent while issue was closed.
Description was changed from ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 ========== to ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2580143003 ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2580143003 ========== to ========== [SPv2] Disable CompositingRecorder collapsing for SPv2 CompositingRecorder collapses its begin/end display items if there is only one drawing display item in between. This won't work if the display item may be layerized and the compositing operation is backdrop-dependent. For example: <drawing content="X"/> <composite blend=multiply> <drawing content="Y"/> </composite> Will be collapsed as: <drawing content="X"/> <drawing content="saveLayer(blend=multiply); Y; restore();"/> However the result will be incorrect if the second drawing display item gets layerized. This CL disables this optimization in SPv2. BUG=674805,675805 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/89df64fbe6300c209e5a3f7e2f7a30a51be8b706 Cr-Commit-Position: refs/heads/master@{#439887} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/89df64fbe6300c209e5a3f7e2f7a30a51be8b706 Cr-Commit-Position: refs/heads/master@{#439887} |