diff options
author | tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-02-14 16:01:15 +0000 |
---|---|---|
committer | tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-02-14 16:01:15 +0000 |
commit | d6770e69e05c9dcc12f2a1a2d509c0b174372ee7 (patch) | |
tree | d29d922639f02ccc32ba09f392bb8d9622725c94 /src/opts/SkBlitRow_opts_SSE2.h | |
parent | 02f90e8ac1f14f2c2fd4cd4d45882f8fdb44c093 (diff) |
SSE2 version of blit_lcd16, courtesy of Jin Yang.
Yields 25-30% speedup on Windows (32b), 4-7% on Linux (64b, less register
pressure), not invoked on Mac (lcd text is 32b instead of 16b).
Followup: GDI system settings on Windows can suppress LCD text for small
fonts, interfering with our benchmarks.
(http://code.google.com/p/skia/issues/detail?id=483)
http://codereview.appspot.com/5617058/
git-svn-id: http://skia.googlecode.com/svn/trunk@3189 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/opts/SkBlitRow_opts_SSE2.h')
-rw-r--r-- | src/opts/SkBlitRow_opts_SSE2.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/opts/SkBlitRow_opts_SSE2.h b/src/opts/SkBlitRow_opts_SSE2.h index 8493e7a291..b443ec7f21 100644 --- a/src/opts/SkBlitRow_opts_SSE2.h +++ b/src/opts/SkBlitRow_opts_SSE2.h @@ -23,3 +23,8 @@ void S32A_Blend_BlitRow32_SSE2(SkPMColor* SK_RESTRICT dst, void SkARGB32_A8_BlitMask_SSE2(void* device, size_t dstRB, const void* mask, size_t maskRB, SkColor color, int width, int height); + +void SkBlitLCD16Row_SSE2(SkPMColor dst[], const uint16_t src[], + SkColor color, int width, SkPMColor); +void SkBlitLCD16OpaqueRow_SSE2(SkPMColor dst[], const uint16_t src[], + SkColor color, int width, SkPMColor opaqueDst); |