diff options
-rw-r--r-- | src/core/SkRasterPipelineBlitter.cpp | 10 |
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; |