aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-16 14:46:00 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-11-16 14:46:00 +0000
commit59d968fb29b39cc1f4eb0ac687007c74618c6c1c (patch)
tree2960a5f7d313ec0b0bc41de5fa98de8f6de9cf11
parentaef73617d1bcede80145a13639668f958a3863d8 (diff)
use correct blend proc instead of fourbyteinterp, since the src may not be opaque
fixes DumpRenderTree failure git-svn-id: http://skia.googlecode.com/svn/trunk@6457 2bbb7eff-a529-9590-31e7-b0007b416f81
-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);