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

Issue 1415653003: Make SkBlurImageFilter capable of cropping during blur (Closed)

Created:
5 years, 2 months ago by Stephen White
Modified:
5 years, 1 month ago
Reviewers:
*mtklein, reed1
CC:
reviews_skia.org, robertphillips
Base URL:
senorblanco-linux.mon:src/skia@blur-applyCropRect4
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

Make SkBlurImageFilter capable of cropping during blur (raster path) SkBlurImageFilter can currently only process a source image which is larger than or equal to the destination rect. If the source image (or crop rect) is smaller, it is padded out to dest size with transparent black via the 6-param version of applyCropRect(). Fixing this requires modifying all the flavours of RGBA box_blur() to accept a src crop rect. BUG=skia:4502, skia:4526 CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Committed: https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4 Committed: https://skia.googlesource.com/skia/+/29a440d2d6f306498a7b54e978e3b034bd625c19

Patch Set 1 #

Patch Set 2 : Correct upstream for patch #

Patch Set 3 : First draft of NEON versions #

Patch Set 4 : Fix box_blur_double() (NEON path) #

Patch Set 5 : Fix box_blur_double() for realz. #

Patch Set 6 : Break right border out into its own loop again #

Patch Set 7 : SkBlurImageFilter_opts reworked to use separate loops #

Patch Set 8 : Fix box_blur_double() #

Patch Set 9 : Update to ToT #

Patch Set 10 : Make applyCropRect() responsible for computing srcBounds #

Total comments: 1

Patch Set 11 : Rebase #

Patch Set 12 : Rebase #

Patch Set 13 : Fix #

Patch Set 14 : Rebase #

Total comments: 8

Patch Set 15 : Add comments per review #

Total comments: 2

Patch Set 16 : Added comments per review #

Patch Set 17 : Fixes for kernel size >>> src width (ASAN) #

Patch Set 18 : More ASAN fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+94 lines, -39 lines) Patch
M src/core/SkOpts.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/effects/SkBlurImageFilter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +23 lines, -21 lines 0 comments Download
M src/opts/SkBlurImageFilter_opts.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 9 chunks +70 lines, -17 lines 0 comments Download

Messages

Total messages: 93 (38 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/40001
5 years, 2 months ago (2015-10-23 22:12:39 UTC) #4
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 2 months ago (2015-10-23 22:22:53 UTC) #6
reed1
Does this change warrant additional tests to exercise/validate it?
5 years, 1 month ago (2015-10-27 13:50:50 UTC) #8
Stephen White
On 2015/10/27 13:50:50, reed1 wrote: > Does this change warrant additional tests to exercise/validate it? ...
5 years, 1 month ago (2015-10-27 14:04:14 UTC) #9
reed1
I asked about tests specifically around the new "feature" of the BlurImageFilter returning a dst-buffer ...
5 years, 1 month ago (2015-10-27 14:18:43 UTC) #10
Stephen White
On 2015/10/27 14:18:43, reed1 wrote: > I asked about tests specifically around the new "feature" ...
5 years, 1 month ago (2015-10-27 14:30:40 UTC) #11
reed1
sorry, I'm still confused. When I run imagefilterscropexpand with the patch, the dst-buffer size is ...
5 years, 1 month ago (2015-10-27 16:20:47 UTC) #12
reed1
... I may have a funny version of the CL patched locally... retrying
5 years, 1 month ago (2015-10-27 16:26:48 UTC) #13
reed1
well, I did, but on an updated version, I still see the same confusing result. ...
5 years, 1 month ago (2015-10-27 16:31:17 UTC) #14
Stephen White
The imagefilterscropexpand GM uses a small crop rect on the input filter, and a larger ...
5 years, 1 month ago (2015-10-27 17:28:06 UTC) #15
Stephen White
On 2015/10/27 17:28:06, Stephen White wrote: > The imagefilterscropexpand GM uses a small crop rect ...
5 years, 1 month ago (2015-10-27 17:30:20 UTC) #16
reed1
My earlier statement was: "I asked about tests specifically around the new "feature" of the ...
5 years, 1 month ago (2015-10-27 17:41:02 UTC) #17
Stephen White
On 2015/10/27 17:41:02, reed1 wrote: > My earlier statement was: > > "I asked about ...
5 years, 1 month ago (2015-10-27 18:04:19 UTC) #18
reed1
Thanks. Perhaps we can reorg the CL summary to focus on change itself : expanding ...
5 years, 1 month ago (2015-10-27 18:35:16 UTC) #19
Stephen White
On 2015/10/27 18:35:16, reed1 wrote: > Thanks. > > Perhaps we can reorg the CL ...
5 years, 1 month ago (2015-10-27 18:37:31 UTC) #20
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/140001
5 years, 1 month ago (2015-10-28 16:00:16 UTC) #22
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-28 16:11:32 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/1415653003/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/150001
5 years, 1 month ago (2015-10-28 17:29:04 UTC) #26
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-28 17:40:32 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/170001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/170001
5 years, 1 month ago (2015-10-28 18:05:24 UTC) #31
Stephen White
reed@, robertphillips@: This one should be ready for review now. I've updated box_blur to use ...
5 years, 1 month ago (2015-10-28 18:17:32 UTC) #32
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-28 18:20:24 UTC) #34
reed1
https://codereview.chromium.org/1415653003/diff/170001/include/core/SkImageFilter.h File include/core/SkImageFilter.h (right): https://codereview.chromium.org/1415653003/diff/170001/include/core/SkImageFilter.h#newcode371 include/core/SkImageFilter.h:371: /** Computes source bounds as the src bitmap bounds ...
5 years, 1 month ago (2015-10-28 18:21:38 UTC) #35
Stephen White
On 2015/10/28 18:21:38, reed1 wrote: > https://codereview.chromium.org/1415653003/diff/170001/include/core/SkImageFilter.h > File include/core/SkImageFilter.h (right): > > https://codereview.chromium.org/1415653003/diff/170001/include/core/SkImageFilter.h#newcode371 > ...
5 years, 1 month ago (2015-10-28 19:01:00 UTC) #36
Stephen White
PTAL. mtklein@: this includes changes to the NEON box_blur_double() which give it the perf improvement ...
5 years, 1 month ago (2015-10-28 21:08:56 UTC) #38
mtklein
On 2015/10/28 at 21:08:56, senorblanco wrote: > PTAL. > > mtklein@: this includes changes to ...
5 years, 1 month ago (2015-10-28 21:13:51 UTC) #39
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/340001
5 years, 1 month ago (2015-10-28 23:08:07 UTC) #47
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-28 23:19:16 UTC) #49
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/360001
5 years, 1 month ago (2015-10-29 17:09:23 UTC) #51
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-10-29 17:23:36 UTC) #53
Stephen White
mtklein@, reed@: Friendly ping.
5 years, 1 month ago (2015-10-30 14:11:41 UTC) #54
reed1
defer to mike for the bulk of this, as he understands the core logic better ...
5 years, 1 month ago (2015-11-02 15:05:07 UTC) #58
Stephen White
Thanks for your review. https://codereview.chromium.org/1415653003/diff/360001/src/opts/SkBlurImageFilter_opts.h File src/opts/SkBlurImageFilter_opts.h (right): https://codereview.chromium.org/1415653003/diff/360001/src/opts/SkBlurImageFilter_opts.h#newcode235 src/opts/SkBlurImageFilter_opts.h:235: for (int y = 0; ...
5 years, 1 month ago (2015-11-02 15:23:14 UTC) #59
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/380001
5 years, 1 month ago (2015-11-02 15:24:06 UTC) #61
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-02 15:34:37 UTC) #63
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/380001
5 years, 1 month ago (2015-11-02 16:53:50 UTC) #66
mtklein
https://codereview.chromium.org/1415653003/diff/380001/src/opts/SkBlurImageFilter_opts.h File src/opts/SkBlurImageFilter_opts.h (right): https://codereview.chromium.org/1415653003/diff/380001/src/opts/SkBlurImageFilter_opts.h#newcode127 src/opts/SkBlurImageFilter_opts.h:127: STORE_SUMS_DOUBLE Should we not be zeroing here and at ...
5 years, 1 month ago (2015-11-02 16:55:44 UTC) #67
Stephen White
https://codereview.chromium.org/1415653003/diff/380001/src/opts/SkBlurImageFilter_opts.h File src/opts/SkBlurImageFilter_opts.h (right): https://codereview.chromium.org/1415653003/diff/380001/src/opts/SkBlurImageFilter_opts.h#newcode127 src/opts/SkBlurImageFilter_opts.h:127: STORE_SUMS_DOUBLE On 2015/11/02 16:55:44, mtklein wrote: > Should we ...
5 years, 1 month ago (2015-11-02 17:08:58 UTC) #68
reed1
Lets add stephen's reply as a brief comment on those lines?
5 years, 1 month ago (2015-11-02 17:39:10 UTC) #69
mtklein
with those comments, lgtm
5 years, 1 month ago (2015-11-02 17:40:10 UTC) #70
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-02 17:40:21 UTC) #72
reed1
lgtm ditto comments
5 years, 1 month ago (2015-11-02 17:46:46 UTC) #73
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/400001
5 years, 1 month ago (2015-11-02 18:34:56 UTC) #75
Stephen White
On 2015/11/02 17:40:10, mtklein wrote: > with those comments, lgtm Done.
5 years, 1 month ago (2015-11-02 18:35:00 UTC) #76
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/400001
5 years, 1 month ago (2015-11-02 18:35:25 UTC) #80
commit-bot: I haz the power
Committed patchset #16 (id:400001) as https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4
5 years, 1 month ago (2015-11-02 19:09:08 UTC) #81
f(malita)
On 2015/11/02 19:09:08, commit-bot: I haz the power wrote: > Committed patchset #16 (id:400001) as ...
5 years, 1 month ago (2015-11-02 19:52:18 UTC) #82
Stephen White
Yeah, that's not good. Can't repro w/valgrind, but I'll revert for now.
5 years, 1 month ago (2015-11-02 19:55:20 UTC) #83
Stephen White
A revert of this CL (patchset #16 id:400001) has been created in https://codereview.chromium.org/1428053002/ by senorblanco@chromium.org. ...
5 years, 1 month ago (2015-11-02 19:56:02 UTC) #84
Stephen White
Relanding w/fixes for ASAN errors.
5 years, 1 month ago (2015-11-02 20:42:45 UTC) #86
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1415653003/440001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1415653003/440001
5 years, 1 month ago (2015-11-02 20:43:52 UTC) #89
mtklein
The ASAN bot's pretty quick. You might want to add it to the CQ bots ...
5 years, 1 month ago (2015-11-02 20:55:17 UTC) #90
commit-bot: I haz the power
Committed patchset #18 (id:440001) as https://skia.googlesource.com/skia/+/29a440d2d6f306498a7b54e978e3b034bd625c19
5 years, 1 month ago (2015-11-02 20:55:50 UTC) #91
Stephen White
On 2015/11/02 20:55:17, mtklein wrote: > The ASAN bot's pretty quick. You might want to ...
5 years, 1 month ago (2015-11-02 21:03:47 UTC) #92
mtklein
5 years, 1 month ago (2015-11-02 21:10:45 UTC) #93
Message was sent while issue was closed.
On 2015/11/02 at 21:03:47, senorblanco wrote:
> On 2015/11/02 20:55:17, mtklein wrote:
> > The ASAN bot's pretty quick.  You might want to add it to the CQ bots if
you're
> > unsure whether this fixes everything.
> 
> Cool, thanks. Didn't realize there was an ASAN trybot.

Yup, all the Skia bots get a twin trybot automatically.  Just tack on '-Trybot'
to the main bot's name.

Powered by Google App Engine
This is Rietveld 408576698