aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrRenderTargetContext.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-07-13 11:20:51 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-13 15:46:32 +0000
commit0596909b055eb9493ba429cc09eae4a2ec53f158 (patch)
tree4c4383ea45f17893ab47c01c61fcff9b06288706 /src/gpu/GrRenderTargetContext.cpp
parent79e4d1b5dd5901c34c732252f814fdea4358ed3b (diff)
Make ShadowRRectOp a non-legacy GrMeshDrawOp
This also removes the ability to have an arbitrary GrPaint with this op and as a consequence simplifies the op and its GrGeometryProcessor. Change-Id: I19cc1c6f73a47e8925fc826291aad42e9423164d Reviewed-on: https://skia-review.googlesource.com/22380 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/GrRenderTargetContext.cpp')
-rw-r--r--src/gpu/GrRenderTargetContext.cpp34
1 files changed, 15 insertions, 19 deletions
diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp
index e274a3bd86..7baf512bad 100644
--- a/src/gpu/GrRenderTargetContext.cpp
+++ b/src/gpu/GrRenderTargetContext.cpp
@@ -956,7 +956,7 @@ static SkPoint3 map(const SkMatrix& m, const SkPoint3& pt) {
}
bool GrRenderTargetContext::drawFastShadow(const GrClip& clip,
- GrPaint&& paint,
+ GrColor color4ub,
const SkMatrix& viewMatrix,
const SkPath& path,
const SkDrawShadowRec& rec) {
@@ -1011,7 +1011,7 @@ bool GrRenderTargetContext::drawFastShadow(const GrClip& clip,
viewMatrix[SkMatrix::kMSkewX] * viewMatrix[SkMatrix::kMSkewX]);
SkScalar occluderHeight = rec.fZPlaneParams.fZ;
- GrColor4f color = paint.getColor4f();
+ GrColor4f color = GrColor4f::FromGrColor(color4ub);
bool transparent = SkToBool(rec.fFlags & SkShadowFlags::kTransparentOccluder_ShadowFlag);
bool tonalColor = SkToBool(rec.fFlags & SkShadowFlags::kTonalColor_ShadowFlag);
@@ -1051,15 +1051,13 @@ bool GrRenderTargetContext::drawFastShadow(const GrClip& clip,
// which is just 1/umbraAlpha.
SkScalar blurClamp = SkScalarInvert(umbraAlpha);
- std::unique_ptr<GrLegacyMeshDrawOp> op = GrShadowRRectOp::Make(ambientColor, viewMatrix,
- ambientRRect,
- devSpaceAmbientBlur,
- devSpaceInsetWidth,
- blurClamp);
- if (op) {
- GrPipelineBuilder pipelineBuilder(std::move(paint), GrAAType::kNone);
- this->addLegacyMeshDrawOp(std::move(pipelineBuilder), clip, std::move(op));
- }
+ std::unique_ptr<GrDrawOp> op = GrShadowRRectOp::Make(ambientColor, viewMatrix,
+ ambientRRect,
+ devSpaceAmbientBlur,
+ devSpaceInsetWidth,
+ blurClamp);
+ SkASSERT(op);
+ this->addDrawOp(clip, std::move(op));
}
if (rec.fSpotAlpha > 0) {
@@ -1163,14 +1161,12 @@ bool GrRenderTargetContext::drawFastShadow(const GrClip& clip,
spotColor = color.mulByScalar(rec.fSpotAlpha).toGrColor();
}
- std::unique_ptr<GrLegacyMeshDrawOp> op = GrShadowRRectOp::Make(spotColor, viewMatrix,
- spotShadowRRect,
- devSpaceSpotBlur,
- insetWidth);
- if (op) {
- GrPipelineBuilder pipelineBuilder(std::move(paint), GrAAType::kNone);
- this->addLegacyMeshDrawOp(std::move(pipelineBuilder), clip, std::move(op));
- }
+ std::unique_ptr<GrDrawOp> op = GrShadowRRectOp::Make(spotColor, viewMatrix,
+ spotShadowRRect,
+ devSpaceSpotBlur,
+ insetWidth);
+ SkASSERT(op);
+ this->addDrawOp(clip, std::move(op));
}
return true;