Chromium Code Reviews| Index: src/opts/SkBitmapProcState_opts_SSE2.cpp |
| diff --git a/src/opts/SkBitmapProcState_opts_SSE2.cpp b/src/opts/SkBitmapProcState_opts_SSE2.cpp |
| index 0b079977eb8de089f2a773cbcbd4244de3949bc8..68bd369b852a68cfbb0e0fb0bf9ebfdadcabed62 100644 |
| --- a/src/opts/SkBitmapProcState_opts_SSE2.cpp |
| +++ b/src/opts/SkBitmapProcState_opts_SSE2.cpp |
| @@ -9,6 +9,7 @@ |
| #include <emmintrin.h> |
| #include "SkBitmapProcState_opts_SSE2.h" |
| +#include "SkColorPriv.h" |
| #include "SkPaint.h" |
| #include "SkUtils.h" |
| @@ -639,8 +640,8 @@ void ClampX_ClampY_nofilter_affine_SSE2(const SkBitmapProcState& s, |
| * It combines S32_opaque_D32_filter_DX_SSE2 and SkPixel32ToPixel16 |
| */ |
| void S32_D16_filter_DX_SSE2(const SkBitmapProcState& s, |
| - const uint32_t* xy, |
| - int count, uint16_t* colors) { |
| + const uint32_t* xy, |
| + int count, uint16_t* colors) { |
| SkASSERT(count > 0 && colors != NULL); |
| SkASSERT(s.fFilterLevel != SkPaint::kNone_FilterLevel); |
| SkASSERT(s.fBitmap->config() == SkBitmap::kARGB_8888_Config); |
| @@ -744,8 +745,9 @@ void S32_D16_filter_DX_SSE2(const SkBitmapProcState& s, |
| // Extract low int and store. |
| dstColor = _mm_cvtsi128_si32(sum); |
| - //*colors++ = SkPixel32ToPixel16(dstColor); |
| + *colors++ = SkPixel32ToPixel16(dstColor); |
|
djsollen
2014/04/28 13:05:11
If this is indeed faster then lets remove the code
henrik.smiding
2014/04/28 13:37:59
Done.
|
| // below is much faster than the above. It's tested for Android benchmark--Softweg |
| + /* Disabled, since it doesn't work with anything but ABGR format. |
| __m128i _m_temp1 = _mm_set1_epi32(dstColor); |
| __m128i _m_temp2 = _mm_srli_epi32(_m_temp1, 3); |
| @@ -761,6 +763,6 @@ void S32_D16_filter_DX_SSE2(const SkBitmapProcState& s, |
| unsigned b = (b32 & ((1<<5) -1)); |
| *colors++ = r | g | b; |
| - |
| + */ |
| } while (--count > 0); |
| } |