| Index: src/gpu/GrDistanceFieldTextContext.cpp
|
| diff --git a/src/gpu/GrDistanceFieldTextContext.cpp b/src/gpu/GrDistanceFieldTextContext.cpp
|
| index 14809756c80aeb7e19086f75c28ecd23002de3a1..425c56c892ed2ccf50c8b1ea3781e18437858d25 100755
|
| --- a/src/gpu/GrDistanceFieldTextContext.cpp
|
| +++ b/src/gpu/GrDistanceFieldTextContext.cpp
|
| @@ -636,8 +636,8 @@ void GrDistanceFieldTextContext::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));
|
| @@ -657,7 +657,8 @@ void GrDistanceFieldTextContext::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");
|
| }
|
| SkASSERT(!fCachedGeometryProcessor->hasVertexColor());
|
| @@ -667,7 +668,7 @@ void GrDistanceFieldTextContext::flush() {
|
| }
|
| int nGlyphs = fCurrVertex / kVerticesPerGlyph;
|
| fDrawTarget->setIndexSourceToBuffer(fContext->getQuadIndexBuffer());
|
| - fDrawTarget->drawIndexedInstances(&drawState,
|
| + fDrawTarget->drawIndexedInstances(&pipelineBuilder,
|
| fCachedGeometryProcessor.get(),
|
| kTriangles_GrPrimitiveType,
|
| nGlyphs,
|
|
|