Index: src/gpu/GrBitmapTextContext.cpp |
diff --git a/src/gpu/GrBitmapTextContext.cpp b/src/gpu/GrBitmapTextContext.cpp |
index 2df3a710d2670a4780771d5af892c574d2785d5c..f39e7a1bb0d9cf922ee261b5600cbae65a2dc517 100755 |
--- a/src/gpu/GrBitmapTextContext.cpp |
+++ b/src/gpu/GrBitmapTextContext.cpp |
@@ -529,8 +529,8 @@ void GrBitmapTextContext::flush() { |
} |
if (fCurrVertex > 0) { |
- GrDrawState drawState; |
- drawState.setFromPaint(fPaint, fContext->getRenderTarget()); |
+ GrPipelineBuilder pipelineBuilder; |
+ pipelineBuilder.setFromPaint(fPaint, fContext->getRenderTarget()); |
// setup our sampler state for our text texture/atlas |
SkASSERT(SkIsAlign4(fCurrVertex)); |
@@ -550,7 +550,8 @@ void GrBitmapTextContext::flush() { |
// TODO: move supportsRGBCoverage check to setupCoverageEffect and only add LCD |
// processor if the xp can support it. For now we will simply assume that if |
// fUseLCDText is true, then we have a known color output. |
- if (!drawState.getXPFactory()->supportsRGBCoverage(0, kRGBA_GrColorComponentFlags)) { |
+ const GrXPFactory* xpFactory = pipelineBuilder.getXPFactory(); |
+ if (!xpFactory->supportsRGBCoverage(0, kRGBA_GrColorComponentFlags)) { |
SkDebugf("LCD Text will not draw correctly.\n"); |
} |
break; |
@@ -574,7 +575,7 @@ void GrBitmapTextContext::flush() { |
params)); |
fEffectTextureUniqueID = textureUniqueID; |
} |
- drawState.addColorProcessor(fCachedTextureProcessor.get()); |
+ pipelineBuilder.addColorProcessor(fCachedTextureProcessor.get()); |
} else { |
uint32_t textureUniqueID = fCurrTexture->getUniqueID(); |
if (textureUniqueID != fEffectTextureUniqueID || |
@@ -594,7 +595,7 @@ void GrBitmapTextContext::flush() { |
int nGlyphs = fCurrVertex / kVerticesPerGlyph; |
fDrawTarget->setIndexSourceToBuffer(fContext->getQuadIndexBuffer()); |
- fDrawTarget->drawIndexedInstances(&drawState, |
+ fDrawTarget->drawIndexedInstances(&pipelineBuilder, |
fCachedGeometryProcessor.get(), |
kTriangles_GrPrimitiveType, |
nGlyphs, |