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

Issue 923523002: Replace SSE optimization of Color32A_D565 (Closed)

Created:
5 years, 10 months ago by henrik.smiding
Modified:
5 years, 9 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

Replace SSE optimization of Color32A_D565 Adds an SSE2 version of the Color32A_D565 function, to replace the existing SSE4 version. Also does some minor cleanup. Performance improvement in the following Skia benchmarks. Measured on Atom Silvermont: Xfermode_SrcOver - x3 luma_colorfilter_large - x4.6 luma_colorfilter_small - x2 tablebench - ~15% chart_bw - ~10% Measured on Corei7 Haswell: luma_colorfilter_large running SSE2 - x2 luma_colorfilter_large running SSE4 - x2.3 Also improves performance in WPS Office application and 2D subtest of 0xbenchmark on Android. Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>; Committed: https://skia.googlesource.com/skia/+/70840cbd898df67f603987213164c798415d76bf

Patch Set 1 #

Total comments: 4

Patch Set 2 : Removed SSE4 version #

Total comments: 2

Patch Set 3 : Fixed comment comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+97 lines, -91 lines) Patch
M include/core/SkColorPriv.h View 1 1 chunk +10 lines, -0 lines 0 comments Download
M src/core/SkBlitRow_D16.cpp View 1 2 2 chunks +2 lines, -3 lines 0 comments Download
M src/opts/SkBitmapProcState_opts_SSE2.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/opts/SkBlitRow_opts_SSE2.h View 2 chunks +6 lines, -1 line 0 comments Download
M src/opts/SkBlitRow_opts_SSE2.cpp View 1 1 chunk +69 lines, -0 lines 0 comments Download
M src/opts/SkBlitRow_opts_SSE4.h View 1 1 chunk +0 lines, -3 lines 0 comments Download
M src/opts/SkBlitRow_opts_SSE4.cpp View 1 2 chunks +1 line, -78 lines 0 comments Download
M src/opts/opts_check_x86.cpp View 1 1 chunk +9 lines, -4 lines 0 comments Download

Messages

Total messages: 19 (3 generated)
henrik.smiding
Surprisingly, the SSE2 version proved to be much faster on the Atom Silvermont CPU, compared ...
5 years, 10 months ago (2015-02-12 13:27:10 UTC) #2
reed1
https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h File include/core/SkColorPriv.h (right): https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h#newcode289 include/core/SkColorPriv.h:289: static inline U16CPU SkBlend32A_D565(uint16_t dst, unsigned scale, uint32_t src_expand) ...
5 years, 10 months ago (2015-02-12 14:44:06 UTC) #3
mtklein
https://codereview.chromium.org/923523002/diff/1/src/opts/opts_check_x86.cpp File src/opts/opts_check_x86.cpp (right): https://codereview.chromium.org/923523002/diff/1/src/opts/opts_check_x86.cpp#newcode234 src/opts/opts_check_x86.cpp:234: #if !defined(__slm__) Is this __slm__ for SiLverMont? Is there ...
5 years, 10 months ago (2015-02-12 14:56:31 UTC) #4
henrik.smiding
https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h File include/core/SkColorPriv.h (right): https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h#newcode289 include/core/SkColorPriv.h:289: static inline U16CPU SkBlend32A_D565(uint16_t dst, unsigned scale, uint32_t src_expand) ...
5 years, 10 months ago (2015-02-12 15:45:06 UTC) #5
mtklein
On 2015/02/12 15:45:06, henrik.smiding wrote: > https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h > File include/core/SkColorPriv.h (right): > > https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h#newcode289 > ...
5 years, 10 months ago (2015-02-12 15:49:57 UTC) #6
henrik.smiding
I've removed the SSE4 code, in favor of the SSE2. Even if it's a 0-30% ...
5 years, 10 months ago (2015-02-13 14:48:09 UTC) #7
mtklein
This lgtm. Let's make sure Mike's happy with SkColorPriv.h (and that the rest is consistently ...
5 years, 10 months ago (2015-02-13 15:15:04 UTC) #8
henrik.smiding
On 2015/02/13 15:15:04, mtklein wrote: > This lgtm. Let's make sure Mike's happy with SkColorPriv.h ...
5 years, 10 months ago (2015-02-13 15:33:29 UTC) #9
henrik.smiding
https://codereview.chromium.org/923523002/diff/20001/src/core/SkBlitRow_D16.cpp File src/core/SkBlitRow_D16.cpp (right): https://codereview.chromium.org/923523002/diff/20001/src/core/SkBlitRow_D16.cpp#newcode271 src/core/SkBlitRow_D16.cpp:271: // no need for the addition code specializing on ...
5 years, 10 months ago (2015-02-13 15:38:11 UTC) #10
mtklein
> On that subject, I plan to clean up the ColorRect32_SSE2 function. It's two > ...
5 years, 10 months ago (2015-02-13 15:41:15 UTC) #11
henrik.smiding
On 2015/02/12 14:44:06, reed1 wrote: > https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h > File include/core/SkColorPriv.h (right): > > https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h#newcode289 > ...
5 years, 10 months ago (2015-02-19 10:24:34 UTC) #12
henrik.smiding
On 2015/02/19 10:24:34, henrik.smiding wrote: > On 2015/02/12 14:44:06, reed1 wrote: > > https://codereview.chromium.org/923523002/diff/1/include/core/SkColorPriv.h > ...
5 years, 9 months ago (2015-02-26 11:40:58 UTC) #14
henrik.smiding
On 2015/02/26 11:40:58, henrik.smiding wrote: > On 2015/02/19 10:24:34, henrik.smiding wrote: > > On 2015/02/12 ...
5 years, 9 months ago (2015-03-20 13:08:35 UTC) #15
reed1
sorry, fell off my review-plate. lgtm
5 years, 9 months ago (2015-03-20 13:16:39 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/923523002/40001
5 years, 9 months ago (2015-03-20 16:09:56 UTC) #18
commit-bot: I haz the power
5 years, 9 months ago (2015-03-20 16:20:51 UTC) #19
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://skia.googlesource.com/skia/+/70840cbd898df67f603987213164c798415d76bf

Powered by Google App Engine
This is Rietveld 408576698