Reduce use of GrRenderTarget in GrTextContexts

Cleanup prior to switching over to GrRenderTargetProxy.

Review URL: https://codereview.chromium.org/1485973004
This commit is contained in:
robertphillips 2015-12-02 10:33:46 -08:00 committed by Commit bot
parent c60b310af7
commit 954cbc15b3

View File

@ -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<GrDrawBatch> 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<GrDrawBatch> batch(GrAAFillRectBatch::Create(
paint.getColor(), viewMatrix, localMatrix, rectToDraw));