| Index: src/gpu/text/GrAtlasTextBlob.cpp
|
| diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp
|
| index 0ead354204e9de1ad84900794ab81eac2e453fc3..9ab9c1230d0cdd362521a316f20f7a2d6ce010eb 100644
|
| --- a/src/gpu/text/GrAtlasTextBlob.cpp
|
| +++ b/src/gpu/text/GrAtlasTextBlob.cpp
|
| @@ -302,9 +302,9 @@ inline GrDrawBatch* GrAtlasTextBlob::createBatch(
|
| }
|
|
|
| inline
|
| -void GrAtlasTextBlob::flushRun(GrDrawContext* dc, GrPipelineBuilder* pipelineBuilder,
|
| +void GrAtlasTextBlob::flushRun(GrDrawContext* dc, const GrPaint& grPaint,
|
| const GrClip& clip, int run, const SkMatrix& viewMatrix, SkScalar x,
|
| - SkScalar y, GrColor color,
|
| + SkScalar y,
|
| const SkPaint& skPaint, const SkSurfaceProps& props,
|
| const GrDistanceFieldAdjustTable* distanceAdjustTable,
|
| GrBatchFontCache* cache) {
|
| @@ -315,12 +315,17 @@ void GrAtlasTextBlob::flushRun(GrDrawContext* dc, GrPipelineBuilder* pipelineBui
|
| continue;
|
| }
|
|
|
| + GrColor color = grPaint.getColor();
|
| +
|
| SkAutoTUnref<GrDrawBatch> batch(this->createBatch(info, glyphCount, run,
|
| subRun, viewMatrix, x, y, color,
|
| skPaint, props,
|
| distanceAdjustTable, dc->isGammaCorrect(),
|
| cache));
|
| - dc->drawBatch(*pipelineBuilder, clip, batch);
|
| +
|
| + GrPipelineBuilder pipelineBuilder(grPaint, dc->mustUseHWAA(grPaint));
|
| +
|
| + dc->drawBatch(pipelineBuilder, clip, batch);
|
| }
|
| }
|
|
|
| @@ -419,10 +424,6 @@ void GrAtlasTextBlob::flushCached(GrContext* context,
|
| SkScalar x, SkScalar y) {
|
| // We loop through the runs of the blob, flushing each. If any run is too large, then we flush
|
| // it as paths
|
| - GrPipelineBuilder pipelineBuilder(grPaint, dc->mustUseHWAA(grPaint));
|
| -
|
| - GrColor color = grPaint.getColor();
|
| -
|
| SkTextBlobRunIterator it(blob);
|
| for (int run = 0; !it.done(); it.next(), run++) {
|
| if (fRuns[run].fDrawAsPaths) {
|
| @@ -430,7 +431,7 @@ void GrAtlasTextBlob::flushCached(GrContext* context,
|
| drawFilter, viewMatrix, clipBounds, x, y);
|
| continue;
|
| }
|
| - this->flushRun(dc, &pipelineBuilder, clip, run, viewMatrix, x, y, color, skPaint, props,
|
| + this->flushRun(dc, grPaint, clip, run, viewMatrix, x, y, skPaint, props,
|
| distanceAdjustTable, context->getBatchFontCache());
|
| }
|
|
|
| @@ -448,11 +449,8 @@ void GrAtlasTextBlob::flushThrowaway(GrContext* context,
|
| const SkMatrix& viewMatrix,
|
| const SkIRect& clipBounds,
|
| SkScalar x, SkScalar y) {
|
| - GrPipelineBuilder pipelineBuilder(grPaint, dc->mustUseHWAA(grPaint));
|
| -
|
| - GrColor color = grPaint.getColor();
|
| for (int run = 0; run < fRunCount; run++) {
|
| - this->flushRun(dc, &pipelineBuilder, clip, run, viewMatrix, x, y, color, skPaint, props,
|
| + this->flushRun(dc, grPaint, clip, run, viewMatrix, x, y, skPaint, props,
|
| distanceAdjustTable, context->getBatchFontCache());
|
| }
|
|
|
|
|