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

Issue 2867913002: Avoid using SkClipOp::kReplace_deprecated in software renderer (Closed)

Created:
3 years, 7 months ago by ericrk
Modified:
3 years, 7 months ago
Reviewers:
enne (OOO), reed1
CC:
cc-bugs_chromium.org, chromium-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Avoid using SkClipOp::kReplace_deprecated in software renderer Currently, the software renderer always uses kReplace_deprecated when applying clips. This is necessary, as we never save/restore around clips, never cleaning up the previous clips we've used. This change causes software renderer to avoid the replace behavior by saving/restoring around clipping changes in DrawRenderPassQuad. With this change, any clipped DrawRenderPassQuad will add a save/restore. Additionally, calling EnsureScissorTestEnabled or SetScissorTestRect has no immediate impact, instead it just queues up the clip for the next DrawRenderPassQuad. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2867913002 Cr-Commit-Position: refs/heads/master@{#470981} Committed: https://chromium.googlesource.com/chromium/src/+/22e6f3e097117be4c680285f58c25c72e6d643b0

Patch Set 1 #

Patch Set 2 : rebase + cleanup #

Patch Set 3 : add extra robustness to ScopedSaveCanvas #

Total comments: 8

Patch Set 4 : feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+40 lines, -26 lines) Patch
M cc/output/software_renderer.cc View 1 2 3 5 chunks +13 lines, -19 lines 0 comments Download
M cc/output/software_renderer_unittest.cc View 1 3 chunks +27 lines, -7 lines 0 comments Download

Messages

Total messages: 34 (24 generated)
ericrk
3 years, 7 months ago (2017-05-09 00:42:55 UTC) #10
enne (OOO)
https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc#newcode54 cc/output/software_renderer.cc:54: class ScopedSaveCanvas { I think this is SkAutoCanvasRestore. You ...
3 years, 7 months ago (2017-05-09 01:02:11 UTC) #12
reed1
That's great news that you found an alternate pattern. https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc#newcode217 cc/output/software_renderer.cc:217: ...
3 years, 7 months ago (2017-05-09 11:50:46 UTC) #14
f(malita)
https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc#newcode157 cc/output/software_renderer.cc:157: current_canvas_->resetMatrix(); // SetClipRect is assumed to be applied temporarily, ...
3 years, 7 months ago (2017-05-09 13:24:03 UTC) #15
ericrk
Thanks for the feedback. Updated. https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://codereview.chromium.org/2867913002/diff/40001/cc/output/software_renderer.cc#newcode54 cc/output/software_renderer.cc:54: class ScopedSaveCanvas { On ...
3 years, 7 months ago (2017-05-09 15:53:18 UTC) #17
reed1
very clean looking. lgtm
3 years, 7 months ago (2017-05-09 16:01:46 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2867913002/60001
3 years, 7 months ago (2017-05-10 20:58:06 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/290792)
3 years, 7 months ago (2017-05-11 00:16:17 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2867913002/60001
3 years, 7 months ago (2017-05-11 16:54:49 UTC) #31
commit-bot: I haz the power
3 years, 7 months ago (2017-05-11 17:04:35 UTC) #34
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/22e6f3e097117be4c680285f58c2...

Powered by Google App Engine
This is Rietveld 408576698