Index: src/gpu/GrStencilAndCoverTextContext.cpp |
diff --git a/src/gpu/GrStencilAndCoverTextContext.cpp b/src/gpu/GrStencilAndCoverTextContext.cpp |
index 9702ed706e5679ce9a45ff987f25dc9792f97537..41991bce81fc65292ef6b8ed64b0a68700db565a 100644 |
--- a/src/gpu/GrStencilAndCoverTextContext.cpp |
+++ b/src/gpu/GrStencilAndCoverTextContext.cpp |
@@ -62,6 +62,12 @@ bool GrStencilAndCoverTextContext::canDraw(const GrRenderTarget* rt, |
return false; |
} |
+ if (skPaint.isAntiAlias() && |
+ kStencil_GrSampleConfig == rt->sampleConfig() && |
+ !paint.getXPFactory()->canTweakAlphaForCoverage()) { |
+ return false; |
+ } |
+ |
// No color bitmap fonts. |
SkScalerContext::Rec rec; |
SkScalerContext::MakeRec(skPaint, &fDeviceProperties, NULL, &rec); |
@@ -361,7 +367,8 @@ void GrStencilAndCoverTextContext::init(GrRenderTarget* rt, |
fStateRestore.set(&fPipelineBuilder); |
- fPipelineBuilder.setFromPaint(fPaint, fRenderTarget, fClip); |
+ fPipelineBuilder.setFromPaint(fPaint, fRenderTarget, fClip, |
+ GrRenderTarget::kStencilBuffer_PipelineStage); |
GR_STATIC_CONST_SAME_STENCIL(kStencilPass, |
kZero_StencilOp, |