Index: src/core/SkBlitRow_D32.cpp |
diff --git a/src/core/SkBlitRow_D32.cpp b/src/core/SkBlitRow_D32.cpp |
index 75330ae33761a5ba8d8a81e7e3359de9b9c64254..80c72421049a8ad1f519a4491550466f9aac4f4f 100644 |
--- a/src/core/SkBlitRow_D32.cpp |
+++ b/src/core/SkBlitRow_D32.cpp |
@@ -52,35 +52,6 @@ static void S32_Blend_BlitRow32(SkPMColor* SK_RESTRICT dst, |
} |
} |
-static void S32A_Opaque_BlitRow32(SkPMColor* SK_RESTRICT dst, |
- const SkPMColor* SK_RESTRICT src, |
- int count, U8CPU alpha) { |
- SkASSERT(255 == alpha); |
- if (count > 0) { |
-#ifdef UNROLL |
- if (count & 1) { |
- *dst = SkPMSrcOver(*(src++), *dst); |
- dst += 1; |
- count -= 1; |
- } |
- |
- const SkPMColor* SK_RESTRICT srcEnd = src + count; |
- while (src != srcEnd) { |
- *dst = SkPMSrcOver(*(src++), *dst); |
- dst += 1; |
- *dst = SkPMSrcOver(*(src++), *dst); |
- dst += 1; |
- } |
-#else |
- do { |
- *dst = SkPMSrcOver(*src, *dst); |
- src += 1; |
- dst += 1; |
- } while (--count > 0); |
-#endif |
- } |
-} |
- |
static void S32A_Blend_BlitRow32(SkPMColor* SK_RESTRICT dst, |
const SkPMColor* SK_RESTRICT src, |
int count, U8CPU alpha) { |
@@ -115,7 +86,7 @@ static void S32A_Blend_BlitRow32(SkPMColor* SK_RESTRICT dst, |
static const SkBlitRow::Proc32 gDefault_Procs32[] = { |
S32_Opaque_BlitRow32, |
S32_Blend_BlitRow32, |
- S32A_Opaque_BlitRow32, |
+ nullptr, |
S32A_Blend_BlitRow32 |
}; |
@@ -124,6 +95,11 @@ SkBlitRow::Proc32 SkBlitRow::Factory32(unsigned flags) { |
// just so we don't crash |
flags &= kFlags32_Mask; |
+ if (flags == 2) { |
+ // S32A_Opaque_BlitRow32 has been ported to SkOpts, but not the others yet. |
+ return SkOpts::blit_row_s32a_opaque; |
+ } |
+ |
SkBlitRow::Proc32 proc = PlatformProcs32(flags); |
if (nullptr == proc) { |
proc = gDefault_Procs32[flags]; |