diff options
author | 2014-05-21 12:43:07 +0000 | |
---|---|---|
committer | 2014-05-21 12:43:07 +0000 | |
commit | f0ea77a3630e6d1c01d83aa5430b3780da9e88b6 (patch) | |
tree | 8a4371e68c70a8b71b59e73bbae6ae4c8afd109b /src/opts/SkUtils_opts_SSE2.h | |
parent | 74ff1badf43169fa4ecc952994930edec4e56bee (diff) |
SSE2 implementation of memcpy32
With SSE2 version memcpy32, S32_Opaque_BlitRow32() in SkBlitRow_D32.cpp
has about 30% performance improvement. Here are the data on desktop
i7-3770.
before:
bitmap_scale_filter_90_90 8888: cmsecs = 2.01
bitmaprect_FF_filter_trans 8888: cmsecs = 3.61
bitmaprect_FF_nofilter_trans 8888: cmsecs = 3.57
bitmaprect_FF_filter_identity 8888: cmsecs = 3.53
bitmaprect_FF_nofilter_identity 8888: cmsecs = 3.53
bitmap_4444_update 8888: cmsecs = 4.84
bitmap_4444_update_volatile 8888: cmsecs = 4.81
bitmap_4444 8888: cmsecs = 4.81
after:
bitmap_scale_filter_90_90 8888: cmsecs = 1.83
bitmaprect_FF_filter_trans 8888: cmsecs = 2.36
bitmaprect_FF_nofilter_trans 8888: cmsecs = 2.36
bitmaprect_FF_filter_identity 8888: cmsecs = 2.60
bitmaprect_FF_nofilter_identity 8888: cmsecs = 2.63
bitmap_4444_update 8888: cmsecs = 3.30
bitmap_4444_update_volatile 8888: cmsecs = 3.30
bitmap_4444 8888: cmsecs = 3.29
BUG=skia:
R=mtklein@google.com, reed@google.com, bsalomon@google.com
Author: qiankun.miao@intel.com
Review URL: https://codereview.chromium.org/285313002
git-svn-id: http://skia.googlecode.com/svn/trunk@14822 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/opts/SkUtils_opts_SSE2.h')
-rw-r--r-- | src/opts/SkUtils_opts_SSE2.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/opts/SkUtils_opts_SSE2.h b/src/opts/SkUtils_opts_SSE2.h index 5f0bc32954..009f01894b 100644 --- a/src/opts/SkUtils_opts_SSE2.h +++ b/src/opts/SkUtils_opts_SSE2.h @@ -12,5 +12,6 @@ void sk_memset16_SSE2(uint16_t *dst, uint16_t value, int count); void sk_memset32_SSE2(uint32_t *dst, uint32_t value, int count); +void sk_memcpy32_SSE2(uint32_t *dst, const uint32_t *src, int count); #endif |