diff options
Diffstat (limited to 'src/gpu/ops/GrAAStrokeRectOp.cpp')
-rw-r--r-- | src/gpu/ops/GrAAStrokeRectOp.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gpu/ops/GrAAStrokeRectOp.cpp b/src/gpu/ops/GrAAStrokeRectOp.cpp index 1b2ab8e2a6..92d1c01a3d 100644 --- a/src/gpu/ops/GrAAStrokeRectOp.cpp +++ b/src/gpu/ops/GrAAStrokeRectOp.cpp @@ -94,7 +94,8 @@ static void compute_rects(SkRect* devOutside, SkRect* devOutsideAssist, SkRect* } } -static sk_sp<GrGeometryProcessor> create_stroke_rect_gp(bool tweakAlphaForCoverage, +static sk_sp<GrGeometryProcessor> create_stroke_rect_gp(const GrShaderCaps* shaderCaps, + bool tweakAlphaForCoverage, const SkMatrix& viewMatrix, bool usesLocalCoords) { using namespace GrDefaultGeoProcFactory; @@ -107,7 +108,10 @@ static sk_sp<GrGeometryProcessor> create_stroke_rect_gp(bool tweakAlphaForCovera } LocalCoords::Type localCoordsType = usesLocalCoords ? LocalCoords::kUsePosition_Type : LocalCoords::kUnused_Type; - return MakeForDeviceSpace(Color::kPremulGrColorAttribute_Type, coverageType, localCoordsType, + return MakeForDeviceSpace(shaderCaps, + Color::kPremulGrColorAttribute_Type, + coverageType, + localCoordsType, viewMatrix); } @@ -258,7 +262,8 @@ private: } // anonymous namespace void AAStrokeRectOp::onPrepareDraws(Target* target) { - sk_sp<GrGeometryProcessor> gp(create_stroke_rect_gp(fHelper.compatibleWithAlphaAsCoverage(), + sk_sp<GrGeometryProcessor> gp(create_stroke_rect_gp(target->caps().shaderCaps(), + fHelper.compatibleWithAlphaAsCoverage(), this->viewMatrix(), fHelper.usesLocalCoords())); if (!gp) { |