Home | History | Annotate | Download | only in opts

Lines Matching defs:dst

19 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 = SkAlphaMulQ(*src, src_scale) + SkAlphaMulQ(*dst, dst_scale);
35 dst++;
40 __m128i *d = reinterpret_cast<__m128i*>(dst);
101 dst = reinterpret_cast<SkPMColor*>(d);
105 *dst = SkAlphaMulQ(*src, src_scale) + SkAlphaMulQ(*dst, dst_scale);
107 dst++;
112 void S32A_Opaque_BlitRow32_SSE2(SkPMColor* SK_RESTRICT dst,
121 SkASSERT(((size_t)dst & 0x03) == 0);
122 while (((size_t)dst & 0x0F) != 0) {
123 *dst = SkPMSrcOver(*src, *dst);
125 dst++;
130 __m128i *d = reinterpret_cast<__m128i*>(dst);
226 dst = reinterpret_cast<SkPMColor*>(d);
230 *dst = SkPMSrcOver(*src, *dst);
232 dst++;
237 void S32A_Blend_BlitRow32_SSE2(SkPMColor* SK_RESTRICT dst,
246 while (((size_t)dst & 0x0F) != 0) {
247 *dst = SkBlendARGB32(*src, *dst, alpha);
249 dst++;
256 __m128i *d = reinterpret_cast<__m128i*>(dst);
289 // Multiply red and blue by dst pixel alpha.
291 // Multiply alpha and green by dst pixel alpha.
327 dst = reinterpret_cast<SkPMColor*>(d);
331 *dst = SkBlendARGB32(*src, *dst, alpha);
333 dst++;
341 void Color32_SSE2(SkPMColor dst[], const SkPMColor src[], int count,
349 if (src != dst) {
350 memcpy(dst, src, count * sizeof(SkPMColor));
357 sk_memset32(dst, color, count);
362 SkASSERT(((size_t)dst & 0x03) == 0);
363 while (((size_t)dst & 0x0F) != 0) {
364 *dst = color + SkAlphaMulQ(*src, scale);
366 dst++;
371 __m128i *d = reinterpret_cast<__m128i*>(dst);
406 dst = reinterpret_cast<SkPMColor*>(d);
410 *dst = color + SkAlphaMulQ(*src, scale);
412 dst += 1;
424 SkPMColor* dst = (SkPMColor *)device;
429 while (((size_t)dst & 0x0F) != 0 && (count > 0)) {
430 *dst = SkBlendARGB32(color, *dst, *mask);
432 dst++;
435 __m128i *d = reinterpret_cast<__m128i*>(dst);
474 // Multiply red and blue by dst pixel alpha.
476 // Multiply alpha and green by dst pixel alpha.
503 dst = reinterpret_cast<SkPMColor *>(d);
506 *dst= SkBlendARGB32(color, *dst, *mask);
507 dst += 1;
511 dst = (SkPMColor *)((char*)dst + dstOffset);
547 static __m128i SkBlendLCD16_SSE2(__m128i &src, __m128i &dst,
549 // In the following comments, the components of src, dst and mask are
611 __m128i dstLo = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
613 __m128i dstHi = _mm_unpackhi_epi8(dst, _mm_setzero_si128());
615 // mask = (src - dst) * mask
619 // mask = (src - dst) * mask >> 5
624 // result = dst + ((src - dst) * mask >> 5)
628 // Pack into 4 32bit dst pixels.
635 static __m128i SkBlendLCD16Opaque_SSE2(__m128i &src, __m128i &dst,
637 // In the following comments, the components of src, dst and mask are
689 __m128i dstLo = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
691 __m128i dstHi = _mm_unpackhi_epi8(dst, _mm_setzero_si128());
693 // mask = (src - dst) * mask
697 // mask = (src - dst) * mask >> 5
702 // result = dst + ((src - dst) * mask >> 5)
706 // Pack into 4 32bit dst pixels and force opaque.
714 void SkBlitLCD16Row_SSE2(SkPMColor dst[], const uint16_t mask[],
728 SkASSERT(((size_t)dst & 0x03) == 0);
729 while (((size_t)dst & 0x0F) != 0) {
730 *dst = SkBlendLCD16(srcA, srcR, srcG, srcB, *dst, *mask);
732 dst++;
736 __m128i *d = reinterpret_cast<__m128i*>(dst);
757 // if mask pixels are not all zero, we will blend the dst pixels
765 // Process 4 32bit dst pixels
776 dst = reinterpret_cast<SkPMColor*>(d);
780 *dst = SkBlendLCD16(srcA, srcR, srcG, srcB, *dst, *mask);
782 dst++;
787 void SkBlitLCD16OpaqueRow_SSE2(SkPMColor dst[], const uint16_t mask[],
798 SkASSERT(((size_t)dst & 0x03) == 0);
799 while (((size_t)dst & 0x0F) != 0) {
800 *dst = SkBlendLCD16Opaque(srcR, srcG, srcB, *dst, *mask, opaqueDst);
802 dst++;
806 __m128i *d = reinterpret_cast<__m128i*>(dst);
825 // if mask pixels are not all zero, we will blend the dst pixels
833 // Process 4 32bit dst pixels
844 dst = reinterpret_cast<SkPMColor*>(d);
848 *dst = SkBlendLCD16Opaque(srcR, srcG, srcB, *dst, *mask, opaqueDst);
850 dst++;