aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/SkBlitter_ARGB32.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/SkBlitter_ARGB32.cpp b/src/core/SkBlitter_ARGB32.cpp
index 6ca88d7d1b..446bf3551d 100644
--- a/src/core/SkBlitter_ARGB32.cpp
+++ b/src/core/SkBlitter_ARGB32.cpp
@@ -631,10 +631,10 @@ void SkARGB32_Shader_Blitter::blitV(int x, int y, int height, SkAlpha alpha) {
device = (uint32_t*)((char*)device + deviceRB);
} while (--height > 0);
} else {
- // can't use fProc, since we need to use an unknown alpha
+ SkBlitRow::Proc32 proc = (255 == alpha) ? fProc32 : fProc32Blend;
do {
shader->shadeSpan(x, y, span, 1);
- *device = SkFourByteInterp(*span, *device, alpha);
+ proc(device, span, 1, alpha);
y += 1;
device = (uint32_t*)((char*)device + deviceRB);
} while (--height > 0);