aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkBlitRow_opts_SSE2.cpp
diff options
context:
space:
mode:
authorGravatar bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-21 19:25:42 +0000
committerGravatar bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-21 19:25:42 +0000
commit27123cd59fb6d6fc240d327efd9fc068c0e3a495 (patch)
treed496515b136ac71380b4a05802966c9e4a7d355a /src/opts/SkBlitRow_opts_SSE2.cpp
parentf3d3d968c87f5e16d05612008b613211ad937d16 (diff)
Force opaque in SkBlendLCD16Opaque_SSE2 to match SkBlendLCD16.
Diffstat (limited to 'src/opts/SkBlitRow_opts_SSE2.cpp')
-rw-r--r--src/opts/SkBlitRow_opts_SSE2.cpp5
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[],