aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/SkRasterPipelineBlitter.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index 6aff8dd72f..b8c0107e26 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -234,9 +234,13 @@ void SkRasterPipelineBlitter::blitAntiH(int x, int y, const SkAlpha aa[], const
fDstPtr = fDst.writable_addr(0,y);
for (int16_t run = *runs; run > 0; run = *runs) {
- fConstantCoverage = *aa * (1/255.0f);
- fBlitAntiH(x, run);
-
+ switch (*aa) {
+ case 0x00: break;
+ case 0xff: this->blitH(x,y,run); break;
+ default:
+ fConstantCoverage = *aa * (1/255.0f);
+ fBlitAntiH(x, run);
+ }
x += run;
runs += run;
aa += run;