aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDrawContext.cpp
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2015-07-09 13:25:02 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-09 13:25:02 -0700
commit7b670db2b4eb0265e69038add7ae79441d77bbc5 (patch)
treeee459690b5d275b83cd51a6639daad7f5376892c /src/gpu/GrDrawContext.cpp
parent4f6dc521f5082a65f42be8a333afe3bbda4ec400 (diff)
Remove setFromPaint from GrPipelineBuilder
TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1227153003
Diffstat (limited to 'src/gpu/GrDrawContext.cpp')
-rw-r--r--src/gpu/GrDrawContext.cpp47
1 files changed, 18 insertions, 29 deletions
diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp
index b957b9124e..5e950dc152 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