Index: src/gpu/GrDrawContext.cpp |
diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp |
index b957b9124e88f492c1d02deaf7665244300ea976..5e950dc15215525db664a436994a48b79ba77a70 100644 |
--- a/src/gpu/GrDrawContext.cpp |
+++ b/src/gpu/GrDrawContext.cpp |
@@ -187,11 +187,11 @@ void GrDrawContext::drawPaint(GrRenderTarget* rt, |
} |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(*paint, rt, clip); |
fDrawTarget->drawBWRect(&pipelineBuilder, |
paint->getColor(), |
SkMatrix::I(), |
@@ -435,11 +435,12 @@ void GrDrawContext::drawRect(GrRenderTarget* rt, |
} |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
+ |
SkScalar width = NULL == strokeInfo ? -1 : strokeInfo->getWidth(); |
// Check if this is a full RT draw and can be replaced with a clear. We don't bother checking |
@@ -536,11 +537,11 @@ void GrDrawContext::drawNonAARectToRect(GrRenderTarget* rt, |
const SkMatrix* localMatrix) { |
RETURN_IF_ABANDONED |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
fDrawTarget->drawBWRect(&pipelineBuilder, |
paint.getColor(), |
viewMatrix, |
@@ -832,12 +833,12 @@ void GrDrawContext::drawVertices(GrRenderTarget* rt, |
int indexCount) { |
RETURN_IF_ABANDONED |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
+ |
// TODO clients should give us bounds |
SkRect bounds; |
if (!bounds.setBoundsCheck(positions, vertexCount)) { |
@@ -885,11 +886,11 @@ void GrDrawContext::drawRRect(GrRenderTarget*rt, |
} |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
GrColor color = paint.getColor(); |
if (!GrOvalRenderer::DrawRRect(fDrawTarget, |
&pipelineBuilder, |
@@ -920,11 +921,11 @@ void GrDrawContext::drawDRRect(GrRenderTarget* rt, |
} |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
GrColor color = paint.getColor(); |
if (!GrOvalRenderer::DrawDRRect(fDrawTarget, |
&pipelineBuilder, |
@@ -967,11 +968,11 @@ void GrDrawContext::drawOval(GrRenderTarget* rt, |
} |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
GrColor color = paint.getColor(); |
if (!GrOvalRenderer::DrawOval(fDrawTarget, |
&pipelineBuilder, |
@@ -1063,11 +1064,11 @@ void GrDrawContext::drawPath(GrRenderTarget* rt, |
// the writePixels that uploads to the scratch will perform a flush so we're |
// OK. |
AutoCheckFlush acf(fContext); |
- GrPipelineBuilder pipelineBuilder; |
- if (!this->prepareToDraw(&pipelineBuilder, rt, clip, &paint)) { |
+ if (!this->prepareToDraw(rt)) { |
return; |
} |
+ GrPipelineBuilder pipelineBuilder(paint, rt, clip); |
if (!strokeInfo.isDashed()) { |
bool useCoverageAA = paint.isAntiAlias() && |
!pipelineBuilder.getRenderTarget()->isUnifiedMultisampled(); |
@@ -1182,18 +1183,6 @@ void GrDrawContext::internalDrawPath(GrDrawTarget* target, |
pr->drawPath(target, pipelineBuilder, color, viewMatrix, *pathPtr, *strokeInfoPtr, useCoverageAA); |
} |
-bool GrDrawContext::prepareToDraw(GrPipelineBuilder* pipelineBuilder, |
- GrRenderTarget* rt, |
- const GrClip& clip, |
- const GrPaint* paint) { |
- RETURN_FALSE_IF_ABANDONED |
- |
- ASSERT_OWNED_RESOURCE(rt); |
- SkASSERT(rt && paint); |
- pipelineBuilder->setFromPaint(*paint, rt, clip); |
- return true; |
-} |
- |
bool GrDrawContext::prepareToDraw(GrRenderTarget* rt) { |
RETURN_FALSE_IF_ABANDONED |