diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-07-24 13:53:23 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-07-24 13:53:23 +0000 |
commit | 7866228f06e402d37f8fcab70a688e1f34c1d27b (patch) | |
tree | df1b1281f4da1a2cf35fd4793bf34386393c62aa /bench/BitmapBench.cpp | |
parent | 060ef18d5c02029eade04961f4cf62068d72a68e (diff) |
land http://codereview.appspot.com/6353063/ by Lei
optimizations for D16 using SSE2
skia_bench -config 565 -match bitmap_8888_scale_filter -forceFilter 1 -repeat
30
The result I got on Android platform was below:
w/o this optimization routine:
D/skia ( 1868): running bench [640 480] bitmap_8888_scale_filter
D/skia ( 1868): 565: cmsecs = 286.50
w/ with optimization:
D/skia ( 1463): running bench [640 480] bitmap_8888_scale_filter
D/skia ( 1463): 565: cmsecs = 186.80
The net gain is 34.80%.
git-svn-id: http://skia.googlecode.com/svn/trunk@4729 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/BitmapBench.cpp')
-rw-r--r-- | bench/BitmapBench.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp index 51dd47a94a..40a733d35a 100644 --- a/bench/BitmapBench.cpp +++ b/bench/BitmapBench.cpp @@ -251,7 +251,7 @@ static SkBenchmark* Fact6(void* p) { return new BitmapBench(p, true, SkBitmap::k static SkBenchmark* Fact7(void* p) { return new BitmapBench(p, true, SkBitmap::kARGB_8888_Config, true, true); } static SkBenchmark* Fact8(void* p) { return new BitmapBench(p, true, SkBitmap::kARGB_8888_Config, true, false); } -// scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} +// scale filter -> S32_opaque_D32_filter_DX_{SSE2,SSSE3} and Fact9 is also for S32_D16_filter_DX_SSE2 static SkBenchmark* Fact9(void* p) { return new FilterBitmapBench(p, false, SkBitmap::kARGB_8888_Config, false, false, -1, -1, true, false, true); } static SkBenchmark* Fact10(void* p) { return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, false, false, -1, -1, true, false, true); } static SkBenchmark* Fact11(void* p) { return new FilterBitmapBench(p, true, SkBitmap::kARGB_8888_Config, true, true, -1, -1, true, false, true); } |