From 954cbc15b39e1b45c6244f2811b5ac6be6e412fd Mon Sep 17 00:00:00 2001 From: robertphillips Date: Wed, 2 Dec 2015 10:33:46 -0800 Subject: [PATCH] Reduce use of GrRenderTarget in GrTextContexts Cleanup prior to switching over to GrRenderTargetProxy. Review URL: https://codereview.chromium.org/1485973004 --- src/gpu/GrDrawContext.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp index 17cdbf3b6b..c07b0602ea 100644 --- a/src/gpu/GrDrawContext.cpp +++ b/src/gpu/GrDrawContext.cpp @@ -248,15 +248,13 @@ void GrDrawContext::drawRect(const GrClip& clip, AutoCheckFlush acf(fDrawingManager); - GrPipelineBuilder pipelineBuilder(paint, fRenderTarget, clip); - SkScalar width = nullptr == strokeInfo ? -1 : strokeInfo->getWidth(); // Check if this is a full RT draw and can be replaced with a clear. We don't bother checking // cases where the RT is fully inside a stroke. if (width < 0) { SkRect rtRect; - pipelineBuilder.getRenderTarget()->getBoundsRect(&rtRect); + fRenderTarget->getBoundsRect(&rtRect); SkRect clipSpaceRTRect = rtRect; bool checkClip = GrClip::kWideOpen_ClipType != clip.clipType(); if (checkClip) { @@ -287,7 +285,7 @@ void GrDrawContext::drawRect(const GrClip& clip, } GrColor color = paint.getColor(); - bool needAA = should_apply_coverage_aa(paint, pipelineBuilder.getRenderTarget()); + bool needAA = should_apply_coverage_aa(paint, fRenderTarget); // The fill path can handle rotation but not skew // The stroke path needs the rect to remain axis aligned (no rotation or skew) @@ -295,6 +293,8 @@ void GrDrawContext::drawRect(const GrClip& clip, bool canApplyAA = width >=0 ? viewMatrix.rectStaysRect() : view_matrix_ok_for_aa_fill_rect(viewMatrix); + GrPipelineBuilder pipelineBuilder(paint, fRenderTarget, clip); + if (needAA && canApplyAA) { SkASSERT(!viewMatrix.hasPerspective()); SkAutoTUnref batch; @@ -365,7 +365,8 @@ void GrDrawContext::fillRectWithLocalMatrix(const GrClip& clip, AutoCheckFlush acf(fDrawingManager); GrPipelineBuilder pipelineBuilder(paint, fRenderTarget, clip); - if (should_apply_coverage_aa(paint, pipelineBuilder.getRenderTarget()) && + + if (should_apply_coverage_aa(paint, fRenderTarget) && view_matrix_ok_for_aa_fill_rect(viewMatrix)) { SkAutoTUnref batch(GrAAFillRectBatch::Create( paint.getColor(), viewMatrix, localMatrix, rectToDraw));