diff options
author | 2017-07-13 11:20:51 -0400 | |
---|---|---|
committer | 2017-07-13 15:46:32 +0000 | |
commit | 0596909b055eb9493ba429cc09eae4a2ec53f158 (patch) | |
tree | 4c4383ea45f17893ab47c01c61fcff9b06288706 /src/gpu/GrRenderTargetContext.cpp | |
parent | 79e4d1b5dd5901c34c732252f814fdea4358ed3b (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.cpp | 34 |
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; |