From 106e10ddff5d473dc81dd1ce8ade615585ea609b Mon Sep 17 00:00:00 2001 From: reed Date: Mon, 14 Mar 2016 11:53:07 -0700 Subject: Revert of Finish conversion to sk_sp (patchset #2 id:20001 of https://codereview.chromium.org/1803763002/ ) Reason for revert: need to update cmake build example Original issue's description: > Finish conversion to sk_sp > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1803763002 > > TBR= > > Committed: https://skia.googlesource.com/skia/+/15c3a0e55bd9134dace0ace2fffb855a0f09542f TBR= # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1798133003 --- bench/GradientBench.cpp | 88 ++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 41 deletions(-) (limited to 'bench/GradientBench.cpp') diff --git a/bench/GradientBench.cpp b/bench/GradientBench.cpp index 21ebdce7ab..73014f7bae 100644 --- a/bench/GradientBench.cpp +++ b/bench/GradientBench.cpp @@ -47,87 +47,89 @@ static const GradData gGradData[] = { }; /// Ignores scale -static sk_sp MakeLinear(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeLinear(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { const uint32_t flags = force4f ? SkLinearGradient::kForce4fContext_PrivateFlag : 0; - return SkGradientShader::MakeLinear(pts, data.fColors, data.fPos, - data.fCount, tm, flags, nullptr); + return SkGradientShader::CreateLinear(pts, data.fColors, data.fPos, + data.fCount, tm, flags, nullptr); } -static sk_sp MakeRadial(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeRadial(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center; center.set(SkScalarAve(pts[0].fX, pts[1].fX), SkScalarAve(pts[0].fY, pts[1].fY)); - return SkGradientShader::MakeRadial(center, center.fX * scale, data.fColors, - data.fPos, data.fCount, tm); + return SkGradientShader::CreateRadial(center, center.fX * scale, + data.fColors, + data.fPos, data.fCount, tm); } /// Ignores scale -static sk_sp MakeSweep(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeSweep(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center; center.set(SkScalarAve(pts[0].fX, pts[1].fX), SkScalarAve(pts[0].fY, pts[1].fY)); - return SkGradientShader::MakeSweep(center.fX, center.fY, data.fColors, data.fPos, data.fCount); + return SkGradientShader::CreateSweep(center.fX, center.fY, data.fColors, + data.fPos, data.fCount); } /// Ignores scale -static sk_sp MakeConical(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeConical(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center0, center1; center0.set(SkScalarAve(pts[0].fX, pts[1].fX), SkScalarAve(pts[0].fY, pts[1].fY)); center1.set(SkScalarInterp(pts[0].fX, pts[1].fX, SkIntToScalar(3)/5), SkScalarInterp(pts[0].fY, pts[1].fY, SkIntToScalar(1)/4)); - return SkGradientShader::MakeTwoPointConical(center1, (pts[1].fX - pts[0].fX) / 7, - center0, (pts[1].fX - pts[0].fX) / 2, - data.fColors, data.fPos, data.fCount, tm); + return SkGradientShader::CreateTwoPointConical(center1, (pts[1].fX - pts[0].fX) / 7, + center0, (pts[1].fX - pts[0].fX) / 2, + data.fColors, data.fPos, data.fCount, tm); } /// Ignores scale -static sk_sp MakeConicalZeroRad(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeConicalZeroRad(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center0, center1; center0.set(SkScalarAve(pts[0].fX, pts[1].fX), SkScalarAve(pts[0].fY, pts[1].fY)); center1.set(SkScalarInterp(pts[0].fX, pts[1].fX, SkIntToScalar(3)/5), SkScalarInterp(pts[0].fY, pts[1].fY, SkIntToScalar(1)/4)); - return SkGradientShader::MakeTwoPointConical(center1, 0.0, - center0, (pts[1].fX - pts[0].fX) / 2, - data.fColors, data.fPos, data.fCount, tm); + return SkGradientShader::CreateTwoPointConical(center1, 0.0, + center0, (pts[1].fX - pts[0].fX) / 2, + data.fColors, data.fPos, data.fCount, tm); } /// Ignores scale -static sk_sp MakeConicalOutside(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeConicalOutside(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center0, center1; SkScalar radius0 = (pts[1].fX - pts[0].fX) / 10; SkScalar radius1 = (pts[1].fX - pts[0].fX) / 3; center0.set(pts[0].fX + radius0, pts[0].fY + radius0); center1.set(pts[1].fX - radius1, pts[1].fY - radius1); - return SkGradientShader::MakeTwoPointConical(center0, radius0, - center1, radius1, - data.fColors, data.fPos, - data.fCount, tm); + return SkGradientShader::CreateTwoPointConical(center0, radius0, + center1, radius1, + data.fColors, data.fPos, + data.fCount, tm); } /// Ignores scale -static sk_sp MakeConicalOutsideZeroRad(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f) { +static SkShader* MakeConicalOutsideZeroRad(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f) { SkPoint center0, center1; SkScalar radius0 = (pts[1].fX - pts[0].fX) / 10; SkScalar radius1 = (pts[1].fX - pts[0].fX) / 3; center0.set(pts[0].fX + radius0, pts[0].fY + radius0); center1.set(pts[1].fX - radius1, pts[1].fY - radius1); - return SkGradientShader::MakeTwoPointConical(center0, 0.0, - center1, radius1, - data.fColors, data.fPos, - data.fCount, tm); + return SkGradientShader::CreateTwoPointConical(center0, 0.0, + center1, radius1, + data.fColors, data.fPos, + data.fCount, tm); } -typedef sk_sp (*GradMaker)(const SkPoint pts[2], const GradData& data, - SkShader::TileMode tm, float scale, bool force4f); +typedef SkShader* (*GradMaker)(const SkPoint pts[2], const GradData& data, + SkShader::TileMode tm, float scale, bool force4f); static const struct { GradMaker fMaker; @@ -211,8 +213,9 @@ public: fName.append("_4f"); } + SkAutoTUnref shader(MakeShader(gradType, data, tm, scale, force4f)); this->setupPaint(&fPaint); - fPaint.setShader(MakeShader(gradType, data, tm, scale, force4f)); + fPaint.setShader(shader); } GradientBench(GradType gradType, GradData data, bool dither, bool force4f = false) @@ -226,8 +229,10 @@ public: fName.appendf("_dither"); } + SkAutoTUnref shader( + MakeShader(gradType, data, SkShader::kClamp_TileMode, 1.0f, force4f)); this->setupPaint(&fPaint); - fPaint.setShader(MakeShader(gradType, data, SkShader::kClamp_TileMode, 1.0f, force4f)); + fPaint.setShader(shader); fPaint.setDither(dither); } @@ -258,8 +263,8 @@ protected: private: typedef Benchmark INHERITED; - sk_sp MakeShader(GradType gradType, GradData data, - SkShader::TileMode tm, float scale, bool force4f) { + SkShader* MakeShader(GradType gradType, GradData data, + SkShader::TileMode tm, float scale, bool force4f) { const SkPoint pts[2] = { { 0, 0 }, { SkIntToScalar(kSize), SkIntToScalar(kSize) } @@ -378,9 +383,10 @@ protected: SK_ColorBLACK, SkColorSetARGB(alpha, gray, gray, gray), SK_ColorWHITE }; - paint.setShader(SkGradientShader::MakeLinear(pts, colors, nullptr, + SkShader* s = SkGradientShader::CreateLinear(pts, colors, nullptr, SK_ARRAY_COUNT(colors), - SkShader::kClamp_TileMode)); + SkShader::kClamp_TileMode); + paint.setShader(s)->unref(); canvas->drawRect(r, paint); } } -- cgit v1.2.3