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

Issue 847363002: skia: blend32_16_row for neon version (Closed)

Created:
5 years, 11 months ago by mlee
Modified:
5 years, 10 months ago
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@master
Target Ref:
refs/heads/master
Project:
skia
Visibility:
Public.

Description

skia: blend32_16_row for neon version This includes blend32_16_row neon implementation for aarch32 and aarch64. For performance, blend32_16_row is called in following tests in nanobench. - Xfermode_SrcOver - tablebench - rotated_rects_bw_alternating_transparent_and_opaque_srcover - rotated_rects_bw_changing_transparent_srcover - rotated_rects_bw_same_transparent_srcover - luma_colorfilter_large - luma_colorfilter_small - chart_bw I can see perf increase in following two tests, especially. For others, looks similar. For each, I tried to run two times. 1) Xfermode_SrcOver <org> - D/skia ( 2000): 3M 57 17.3µs 17.4µs 17.4µs 17.7µs 1% █▃▂▃▂▂▂▁▃▂ 565 Xfermode_SrcOver - D/skia ( 1915): 3M 70 13.5µs 16.9µs 16.7µs 18.8µs 9% ▆█▄▅█▁▅▅▆▄ 565 Xfermode_SrcOver <new> - D/skia ( 2000): 3M 8 11.6µs 11.8µs 12.1µs 14.4µs 7% ▃█▁▁▂▁▁▁▂▂ 565 Xfermode_SrcOver - D/skia ( 2004): 3M 62 10.3µs 12.9µs 13µs 15.2µs 11% █▅▅▆▁▅▅▅▇▃ 565 Xfermode_SrcOver 2) luma_colorfilter_large <org> - D/skia ( 2000): 159M 8 136µs 136µs 136µs 139µs 1% █▃▁▂▁▁▁▁▁▁ 565 luma_colorfilter_large - D/skia ( 1915): 158M 2 135µs 177µs 182µs 269µs 22% ▆▃█▁▁▃▃▃▃▃ 565 luma_colorfilter_large <new> - D/skia ( 2000): 157M 5 84.2µs 85.3µs 87.5µs 110µs 9% █▁▂▁▁▁▁▁▁▁ 565 luma_colorfilter_large - D/skia ( 2004): 159M 6 84.7µs 110µs 112µs 144µs 18% █▄▇▁▁▄▃▄▄▆ 565 luma_colorfilter_large Committed: https://skia.googlesource.com/skia/+/402448d6818cab9d7b7633a0c18fcf574c915357

Patch Set 1 #

Total comments: 3

Patch Set 2 : skia: blend32_16_row for neon version #

Patch Set 3 : skia: blend32_16_row for neon version #

Patch Set 4 : skia: blend32_16_row for neon version #

Total comments: 5

Patch Set 5 : skia: blend32_16_row for neon version #

Total comments: 4

Patch Set 6 : skia: blend32_16_row for neon version #

Unified diffs Side-by-side diffs Delta from patch set Stats (+157 lines, -23 lines) Patch
M src/core/SkBlitter_RGB16.cpp View 1 2 3 4 5 4 chunks +17 lines, -22 lines 0 comments Download
M src/opts/SkBlitRow_opts_arm.cpp View 2 chunks +8 lines, -1 line 0 comments Download
M src/opts/SkBlitRow_opts_arm_neon.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/opts/SkBlitRow_opts_arm_neon.cpp View 1 2 3 4 2 chunks +131 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (3 generated)
mlee
Add reviewers. I verified skia_gm for aarch32 neon and aarch64 neon.
5 years, 11 months ago (2015-01-14 10:33:37 UTC) #2
mlee
On 2015/01/14 10:33:37, mlee wrote: > Add reviewers. > > I verified skia_gm for aarch32 ...
5 years, 11 months ago (2015-01-14 10:48:14 UTC) #3
djsollen
https://codereview.chromium.org/847363002/diff/1/src/core/SkBlitter_RGB16.cpp File src/core/SkBlitter_RGB16.cpp (right): https://codereview.chromium.org/847363002/diff/1/src/core/SkBlitter_RGB16.cpp#newcode534 src/core/SkBlitter_RGB16.cpp:534: for (int count = 0; count < 8; count++) ...
5 years, 11 months ago (2015-01-14 14:57:54 UTC) #4
mlee
On 2015/01/14 14:57:54, djsollen wrote: Hi, Below is the reason why I prepare eight RGBA ...
5 years, 11 months ago (2015-01-15 05:56:01 UTC) #5
mlee
load single src, so there's no change in arguments for ColorProc16. I see there's no ...
5 years, 11 months ago (2015-01-15 08:12:37 UTC) #6
mlee
Please review patch set 2 and if this is fine, can someone trigger trybot? Thanks.
5 years, 11 months ago (2015-01-15 17:24:18 UTC) #7
mlee
Hi, Djsollen. I had more time to consider your comment today. I think you might ...
5 years, 11 months ago (2015-01-16 05:51:13 UTC) #8
mlee
Patch set 3: Limit this to little endian.
5 years, 11 months ago (2015-01-16 10:35:02 UTC) #9
mlee
Now, I understand Djsollen's previous comment: from src, get r, g, b, a component, and ...
5 years, 11 months ago (2015-01-16 12:17:58 UTC) #10
mlee
Hi, I removed assembly based code instead this patchset uses ARM NEON intrinsics. Removed little ...
5 years, 11 months ago (2015-01-19 13:09:53 UTC) #11
mlee
Ptla. Any feedback on this?
5 years, 11 months ago (2015-01-20 16:02:22 UTC) #13
mlee
https://codereview.chromium.org/847363002/diff/1/src/core/SkBlitter_RGB16.cpp File src/core/SkBlitter_RGB16.cpp (right): https://codereview.chromium.org/847363002/diff/1/src/core/SkBlitter_RGB16.cpp#newcode534 src/core/SkBlitter_RGB16.cpp:534: for (int count = 0; count < 8; count++) ...
5 years, 11 months ago (2015-01-21 10:17:32 UTC) #14
djsollen
I'm going to defer to mike on the changes to the blitter's constructor, but otherwise ...
5 years, 11 months ago (2015-01-21 14:36:53 UTC) #15
reed1
https://codereview.chromium.org/847363002/diff/60001/src/core/SkBlitter_RGB16.cpp File src/core/SkBlitter_RGB16.cpp (right): https://codereview.chromium.org/847363002/diff/60001/src/core/SkBlitter_RGB16.cpp#newcode553 src/core/SkBlitter_RGB16.cpp:553: // TODO: respect fDoDither Why is this a todo? ...
5 years, 11 months ago (2015-01-21 14:40:20 UTC) #16
mlee
https://codereview.chromium.org/847363002/diff/60001/src/core/SkBlitter_RGB16.cpp File src/core/SkBlitter_RGB16.cpp (right): https://codereview.chromium.org/847363002/diff/60001/src/core/SkBlitter_RGB16.cpp#newcode556 src/core/SkBlitter_RGB16.cpp:556: fColorProc16 = SkBlitRow::PlatformColorFactory565(flags); Oops. This is mistake and that's ...
5 years, 11 months ago (2015-01-22 12:19:36 UTC) #17
djsollen
The S4 bot is known to have problems and the error there is not the ...
5 years, 11 months ago (2015-01-22 14:30:49 UTC) #18
mlee
On 2015/01/22 14:30:49, djsollen wrote: > The S4 bot is known to have problems and ...
5 years, 11 months ago (2015-01-22 15:43:02 UTC) #19
mlee
Hi, Djsollen. I ran nanobech with following commend, but I foudn that blend32_16_row code itself ...
5 years, 11 months ago (2015-01-23 05:56:52 UTC) #20
reed1
Sounds like we should update the benches. Does your new code get called when we ...
5 years, 11 months ago (2015-01-23 14:03:01 UTC) #21
mlee
Hi Reed. I dont run dm by myself.(but saw try testbot is doing) I saw ...
5 years, 11 months ago (2015-01-23 14:07:55 UTC) #22
mtklein
I have been writing a guide to running DM. You can read the work-in-progress version ...
5 years, 11 months ago (2015-01-23 14:21:27 UTC) #23
mtklein
On 2015/01/23 14:21:27, mtklein wrote: > I have been writing a guide to running DM. ...
5 years, 11 months ago (2015-01-23 15:20:45 UTC) #24
mlee
Hi, Mtklein. With below step, I've checked in performance and correctness. - I shared some ...
5 years, 11 months ago (2015-01-23 15:39:24 UTC) #25
mlee
Hi. If we already have these, that's great ==> In correct standpoints, I see several ...
5 years, 11 months ago (2015-01-23 15:57:50 UTC) #26
mlee
Just see https://skia.org/dev/contrib/testing. Will try dm for correctness as well.
5 years, 11 months ago (2015-01-23 16:06:30 UTC) #27
mtklein
> Q1. how to compare nanobench result? Can I compare mean value between org and ...
5 years, 11 months ago (2015-01-23 16:45:41 UTC) #28
mlee
I ran full nanobench, but I see neither SkRGB16_Blitter::blitH nor SkRGB16_Blitter::blitRect is called. Also, ran ...
5 years, 11 months ago (2015-01-27 08:47:25 UTC) #29
mlee
sorry for confusion. I did mistake and added log in my android branch. :-). After ...
5 years, 10 months ago (2015-01-28 13:11:09 UTC) #30
mlee
For correctness. dm is passed from my side. Below is the step that I've checked. ...
5 years, 10 months ago (2015-01-28 15:06:53 UTC) #31
mlee
For performance, blend32_16_row is called in following tests in nanobench. - Xfermode_SrcOver - tablebench - ...
5 years, 10 months ago (2015-01-28 15:10:49 UTC) #32
mlee
Please take look at. Let me know if anything is remained. Thank you.
5 years, 10 months ago (2015-01-28 15:13:07 UTC) #33
reed1
lgtm
5 years, 10 months ago (2015-01-28 19:15:07 UTC) #34
reed1
please address nits, but lgtm after that https://codereview.chromium.org/847363002/diff/80001/src/core/SkBlitter_RGB16.cpp File src/core/SkBlitter_RGB16.cpp (right): https://codereview.chromium.org/847363002/diff/80001/src/core/SkBlitter_RGB16.cpp#newcode553 src/core/SkBlitter_RGB16.cpp:553: if (SkGetPackedA32(fSrcColor32) ...
5 years, 10 months ago (2015-01-28 19:16:12 UTC) #35
mlee
Hi, Reed. Update new patch set, fixing two minor concerns. Thanks.
5 years, 10 months ago (2015-01-29 02:50:31 UTC) #36
djsollen
lgtm
5 years, 10 months ago (2015-01-29 14:06:15 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/847363002/100001
5 years, 10 months ago (2015-01-29 14:10:28 UTC) #39
commit-bot: I haz the power
5 years, 10 months ago (2015-01-29 14:22:46 UTC) #40
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://skia.googlesource.com/skia/+/402448d6818cab9d7b7633a0c18fcf574c915357

Powered by Google App Engine
This is Rietveld 408576698