Home | History | Annotate | Download | only in opts

Lines Matching refs:dst

20 void S32_Blend_BlitRow32_SSE2(SkPMColor* SK_RESTRICT dst,
31 SkASSERT(((size_t)dst & 0x03) == 0);
32 while (((size_t)dst & 0x0F) != 0) {
33 *dst = SkPMLerp(*src, *dst, src_scale);
35 dst++;
40 __m128i *d = reinterpret_cast<__m128i*>(dst);
54 dst = reinterpret_cast<SkPMColor*>(d);
58 *dst = SkPMLerp(*src, *dst, src_scale);
60 dst++;
65 void S32A_Blend_BlitRow32_SSE2(SkPMColor* SK_RESTRICT dst,
74 while (((size_t)dst & 0x0F) != 0) {
75 *dst = SkBlendARGB32(*src, *dst, alpha);
77 dst++;
82 __m128i *d = reinterpret_cast<__m128i*>(dst);
95 dst = reinterpret_cast<SkPMColor*>(d);
99 *dst = SkBlendARGB32(*src, *dst, alpha);
101 dst++;
137 static __m128i SkBlendLCD16_SSE2(__m128i &src, __m128i &dst,
139 // In the following comments, the components of src, dst and mask are
201 __m128i dstLo = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
203 __m128i dstHi = _mm_unpackhi_epi8(dst, _mm_setzero_si128());
205 // mask = (src - dst) * mask
209 // mask = (src - dst) * mask >> 5
214 // result = dst + ((src - dst) * mask >> 5)
218 // Pack into 4 32bit dst pixels.
225 static __m128i SkBlendLCD16Opaque_SSE2(__m128i &src, __m128i &dst,
227 // In the following comments, the components of src, dst and mask are
279 __m128i dstLo = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
281 __m128i dstHi = _mm_unpackhi_epi8(dst, _mm_setzero_si128());
283 // mask = (src - dst) * mask
287 // mask = (src - dst) * mask >> 5
292 // result = dst + ((src - dst) * mask >> 5)
296 // Pack into 4 32bit dst pixels and force opaque.
304 void SkBlitLCD16Row_SSE2(SkPMColor dst[], const uint16_t mask[],
318 SkASSERT(((size_t)dst & 0x03) == 0);
319 while (((size_t)dst & 0x0F) != 0) {
320 *dst = SkBlendLCD16(srcA, srcR, srcG, srcB, *dst, *mask);
322 dst++;
326 __m128i *d = reinterpret_cast<__m128i*>(dst);
347 // if mask pixels are not all zero, we will blend the dst pixels
355 // Process 4 32bit dst pixels
366 dst = reinterpret_cast<SkPMColor*>(d);
370 *dst = SkBlendLCD16(srcA, srcR, srcG, srcB, *dst, *mask);
372 dst++;
377 void SkBlitLCD16OpaqueRow_SSE2(SkPMColor dst[], const uint16_t mask[],
388 SkASSERT(((size_t)dst & 0x03) == 0);
389 while (((size_t)dst & 0x0F) != 0) {
390 *dst = SkBlendLCD16Opaque(srcR, srcG, srcB, *dst, *mask, opaqueDst);
392 dst++;
396 __m128i *d = reinterpret_cast<__m128i*>(dst);
415 // if mask pixels are not all zero, we will blend the dst pixels
423 // Process 4 32bit dst pixels
434 dst = reinterpret_cast<SkPMColor*>(d);
438 *dst = SkBlendLCD16Opaque(srcR, srcG, srcB, *dst, *mask, opaqueDst);
440 dst++;