diff options
author | bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-08-21 19:25:42 +0000 |
---|---|---|
committer | bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-08-21 19:25:42 +0000 |
commit | 27123cd59fb6d6fc240d327efd9fc068c0e3a495 (patch) | |
tree | d496515b136ac71380b4a05802966c9e4a7d355a /src | |
parent | f3d3d968c87f5e16d05612008b613211ad937d16 (diff) |
Force opaque in SkBlendLCD16Opaque_SSE2 to match SkBlendLCD16.
https://codereview.appspot.com/6460123/
git-svn-id: http://skia.googlecode.com/svn/trunk@5218 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r-- | src/opts/SkBlitRow_opts_SSE2.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/opts/SkBlitRow_opts_SSE2.cpp b/src/opts/SkBlitRow_opts_SSE2.cpp index 74e44af4c9..84a239717f 100644 --- a/src/opts/SkBlitRow_opts_SSE2.cpp +++ b/src/opts/SkBlitRow_opts_SSE2.cpp @@ -630,8 +630,9 @@ static __m128i SkBlendLCD16Opaque_SSE2(__m128i &srci, __m128i &dst, __m128i resultLo = _mm_add_epi16(dstLo, maskLo); __m128i resultHi = _mm_add_epi16(dstHi, maskHi); - // Pack into 4 32bit dst pixels - return _mm_packus_epi16(resultLo, resultHi); + // Pack into 4 32bit dst pixels and force opaque. + return _mm_or_si128(_mm_packus_epi16(resultLo, resultHi), + _mm_set1_epi32(SK_A32_MASK << SK_A32_SHIFT)); } void SkBlitLCD16Row_SSE2(SkPMColor dst[], const uint16_t src[], |