Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(90)

Issue 5569077: Implementing Color32 functions for Neon platforms.

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 8 months ago by evannier
Modified:
12 years, 2 months ago
Reviewers:
reed1, EricB, DerekS, TomH
CC:
skia-review_googlegroups.com
Base URL:
http://skia.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Implementing Color32 functions for Neon platforms. Besides the raw processing improvement provided by Neon, the code uses memory preteches (pld) which seem to improve performance greatly when dealing with very large counts. This was tested using bench where color32 accounts for the majority of the workload: bench -match rects_1 -config 8888 -repeat 500 -forceBlend 1 (the forceBlend is there so that the Color32 code does not go through the special cases where alpha == 0xFF as it would transform color32 into a sk_memset32. Numbers averaged over 3 runs: bench name | Before | Neon, no pld | Neon with pld | full boost rrects_1 | 153.9 | 128.3 | 92 | 1.66x rects_1_stroke_4| 32.8 | 31.4 | 28.45 | 1.15x rects_1 | 125.35 | 97.2 | 63.59 | 1.97x Credits: various googletv team members.

Patch Set 1 #

Total comments: 9

Patch Set 2 : small modifications based on comments, small code cleanup, still some issues unresolved #

Patch Set 3 : '' #

Patch Set 4 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+143 lines, -4 lines) Patch
M src/opts/SkBlitRow_opts_arm.cpp View 1 2 3 3 chunks +109 lines, -4 lines 0 comments Download
A src/opts/SkCachePreload_arm.h View 1 2 3 1 chunk +34 lines, -0 lines 0 comments Download

Messages

Total messages: 15
TomH
How did you find measured speedup? I ran the full Skia benchmark suite on a ...
12 years, 8 months ago (2012-02-07 16:31:53 UTC) #1
evannier
On 2012/02/07 16:31:53, TomH wrote: > How did you find measured speedup? I ran the ...
12 years, 8 months ago (2012-02-09 03:01:06 UTC) #2
evannier
http://codereview.appspot.com/5569077/diff/1/src/opts/SkBlitRow_opts_arm.cpp File src/opts/SkBlitRow_opts_arm.cpp (right): http://codereview.appspot.com/5569077/diff/1/src/opts/SkBlitRow_opts_arm.cpp#newcode19 src/opts/SkBlitRow_opts_arm.cpp:19: #define CACHE_LINE_SIZE 32 I admit this is not exactly ...
12 years, 8 months ago (2012-02-09 03:01:26 UTC) #3
TomH
It looks like bench -match rects is the only benchmark that heavily hits the nontrivial ...
12 years, 8 months ago (2012-02-09 18:58:47 UTC) #4
evannier
On 2012/02/09 18:58:47, TomH wrote: > It looks like bench -match rects is the only ...
12 years, 7 months ago (2012-02-14 21:58:30 UTC) #5
evannier
Thanks for the previous reviews. I have made a few modifications based on your comments, ...
12 years, 7 months ago (2012-03-01 23:33:31 UTC) #6
TomH
Derek, is this more up your alley for actual testing?
12 years, 7 months ago (2012-03-08 21:49:08 UTC) #7
TomH
Eric may be able to do the performance study on actual hardware we wanted?
12 years, 2 months ago (2012-07-24 21:39:04 UTC) #8
evannier
On 2012/07/24 21:39:04, TomH wrote: > Eric may be able to do the performance study ...
12 years, 2 months ago (2012-07-24 21:53:00 UTC) #9
TomH
On 2012/07/24 21:53:00, evannier wrote: > On 2012/07/24 21:39:04, TomH wrote: > > Eric may ...
12 years, 2 months ago (2012-07-24 21:54:30 UTC) #10
EricB
On 2012/07/24 21:54:30, TomH wrote: > On 2012/07/24 21:53:00, evannier wrote: > > On 2012/07/24 ...
12 years, 2 months ago (2012-07-24 22:02:36 UTC) #11
EricB
Looks like we're seeing 5-10% improvement on the rects_* benchmarks. Before: D/skia (30219): running bench ...
12 years, 2 months ago (2012-07-25 12:45:05 UTC) #12
evannier
As mentioned in the Change description, on a different processor, the improvements are much larger ...
12 years, 2 months ago (2012-07-25 16:23:21 UTC) #13
TomH
LGTM.
12 years, 2 months ago (2012-07-25 17:00:01 UTC) #14
EricB
12 years, 2 months ago (2012-07-26 14:20:50 UTC) #15
On 2012/07/25 17:00:01, TomH wrote:
> LGTM.

Committed as r4779.  Please close.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b