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

Issue 1963713002: Replace setMatrixClip() with BeginPlatformPaint() logic (Closed)

Created:
4 years, 7 months ago by tomhudson
Modified:
4 years, 7 months ago
Reviewers:
f(malita), reed1
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace setMatrixClip() with BeginPlatformPaint() logic Instead of storing the current transform and clip every time SkCanvas::DeviceCM::setMatrixClip() is called, query the current transform and clip in skia::BeginPlatformPaint() and propagate them to the device subsequently. Removes some state that was being stored on BitmapPlatformDevice and a dependency on a to-be-deprected internal Skia function; takes advantage of our recent discovery that no platform was using complex clips and we can just use the clip bounds. Gets rid of some lazy caching of unknown performance impact. R=reed@google.com BUG=609894 Committed: https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a Cr-Commit-Position: refs/heads/master@{#394757}

Patch Set 1 #

Patch Set 2 : ship rect #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : semicomma tose #

Patch Set 6 : DrawToHDC() win #

Patch Set 7 : #

Total comments: 6

Patch Set 8 : Florin's review #

Patch Set 9 : compensate for any outstanding saveLayer() calls #

Unified diffs Side-by-side diffs Delta from patch set Stats (+131 lines, -258 lines) Patch
M skia/ext/bitmap_platform_device_cairo.h View 1 2 chunks +3 lines, -19 lines 0 comments Download
M skia/ext/bitmap_platform_device_cairo.cc View 1 4 chunks +13 lines, -35 lines 0 comments Download
M skia/ext/bitmap_platform_device_mac.h View 1 2 chunks +3 lines, -24 lines 0 comments Download
M skia/ext/bitmap_platform_device_mac.cc View 1 7 chunks +25 lines, -61 lines 0 comments Download
M skia/ext/bitmap_platform_device_mac_unittest.cc View 1 2 3 4 5 6 7 3 chunks +13 lines, -16 lines 0 comments Download
M skia/ext/bitmap_platform_device_skia.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M skia/ext/bitmap_platform_device_skia.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M skia/ext/bitmap_platform_device_win.h View 1 2 3 4 5 6 3 chunks +6 lines, -28 lines 0 comments Download
M skia/ext/bitmap_platform_device_win.cc View 1 2 3 4 5 9 chunks +30 lines, -56 lines 0 comments Download
M skia/ext/platform_canvas.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M skia/ext/platform_canvas.cc View 1 2 3 4 5 6 7 8 2 chunks +13 lines, -3 lines 0 comments Download
M skia/ext/platform_device.h View 1 2 3 4 5 3 chunks +6 lines, -4 lines 0 comments Download
M skia/ext/platform_device_linux.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M skia/ext/platform_device_mac.cc View 1 1 chunk +3 lines, -2 lines 0 comments Download
M skia/ext/platform_device_win.cc View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M skia/ext/skia_utils_mac.mm View 1 2 3 4 5 6 7 2 chunks +4 lines, -3 lines 0 comments Download

Messages

Total messages: 37 (16 generated)
tomhudson
Mike: this'll get rid of setMatrixClip(), but requires exposing getTotalClip(). Ugh? How best to plumb ...
4 years, 7 months ago (2016-05-09 15:30:20 UTC) #1
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/20001
4 years, 7 months ago (2016-05-11 11:51:36 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/135505)
4 years, 7 months ago (2016-05-11 12:00:06 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/40001
4 years, 7 months ago (2016-05-11 12:28:11 UTC) #8
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/64115)
4 years, 7 months ago (2016-05-11 12:36:29 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/60001
4 years, 7 months ago (2016-05-11 13:01:23 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/109313)
4 years, 7 months ago (2016-05-11 13:13:17 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/120001
4 years, 7 months ago (2016-05-11 17:05:30 UTC) #16
tomhudson
On 2016/05/11 17:05:30, commit-bot: I haz the power wrote: > Dry run: CQ is trying ...
4 years, 7 months ago (2016-05-11 17:47:18 UTC) #17
tomhudson
Looks like the bots are happy. There's some performance risk with this one, but I ...
4 years, 7 months ago (2016-05-11 17:48:24 UTC) #19
reed1
lgtm
4 years, 7 months ago (2016-05-11 17:52:55 UTC) #20
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/109466)
4 years, 7 months ago (2016-05-11 18:06:40 UTC) #22
f(malita)
https://codereview.chromium.org/1963713002/diff/120001/skia/ext/bitmap_platform_device_mac_unittest.cc File skia/ext/bitmap_platform_device_mac_unittest.cc (right): https://codereview.chromium.org/1963713002/diff/120001/skia/ext/bitmap_platform_device_mac_unittest.cc#newcode35 skia/ext/bitmap_platform_device_mac_unittest.cc:35: SkCanvas* canvas = skia::CreateCanvas(bitmap_, CRASH_ON_FAILURE); Looks like this will ...
4 years, 7 months ago (2016-05-11 19:29:37 UTC) #23
tomhudson
https://codereview.chromium.org/1963713002/diff/120001/skia/ext/bitmap_platform_device_mac_unittest.cc File skia/ext/bitmap_platform_device_mac_unittest.cc (right): https://codereview.chromium.org/1963713002/diff/120001/skia/ext/bitmap_platform_device_mac_unittest.cc#newcode35 skia/ext/bitmap_platform_device_mac_unittest.cc:35: SkCanvas* canvas = skia::CreateCanvas(bitmap_, CRASH_ON_FAILURE); On 2016/05/11 19:29:37, f(malita) ...
4 years, 7 months ago (2016-05-19 12:24:12 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/160001
4 years, 7 months ago (2016-05-19 12:24:27 UTC) #26
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-19 13:27:36 UTC) #28
tomhudson
With our Skia changes this passes the bots.
4 years, 7 months ago (2016-05-19 13:29:41 UTC) #29
f(malita)
lgtm
4 years, 7 months ago (2016-05-19 13:36:56 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1963713002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1963713002/160001
4 years, 7 months ago (2016-05-19 13:38:25 UTC) #33
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 7 months ago (2016-05-19 13:42:00 UTC) #35
commit-bot: I haz the power
4 years, 7 months ago (2016-05-19 13:44:35 UTC) #37
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/c7aaa19ef205902d338508cdf2697724c7b4872a
Cr-Commit-Position: refs/heads/master@{#394757}

Powered by Google App Engine
This is Rietveld 408576698