diff options
author | robertphillips <robertphillips@google.com> | 2015-12-17 11:33:12 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-17 11:33:12 -0800 |
commit | e80eb928ba0248a5a5dea6e1f0005aa08ecf8740 (patch) | |
tree | 87bf6f73175a6a404308eb36b18337116a6396aa /bench/BlurRectBench.cpp | |
parent | 1250944aaa9251c08eda3a37b21f15106903f42d (diff) |
Add default ctor to SkMask
The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea.
BUG=570232
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002
Review URL: https://codereview.chromium.org/1539553002
Diffstat (limited to 'bench/BlurRectBench.cpp')
-rw-r--r-- | bench/BlurRectBench.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/bench/BlurRectBench.cpp b/bench/BlurRectBench.cpp index b8a7211815..53cf2da1b5 100644 --- a/bench/BlurRectBench.cpp +++ b/bench/BlurRectBench.cpp @@ -63,7 +63,7 @@ protected: preBenchSetup(r); for (int i = 0; i < loops; i++) { - makeBlurryRect(r); + this->makeBlurryRect(r); } } @@ -90,8 +90,10 @@ class BlurRectDirectBench: public BlurRectBench { protected: void makeBlurryRect(const SkRect& r) override { SkMask mask; - SkBlurMask::BlurRect(SkBlurMask::ConvertRadiusToSigma(this->radius()), - &mask, r, kNormal_SkBlurStyle); + if (!SkBlurMask::BlurRect(SkBlurMask::ConvertRadiusToSigma(this->radius()), + &mask, r, kNormal_SkBlurStyle)) { + return; + } SkMask::FreeImage(mask.fImage); } private: @@ -101,9 +103,7 @@ private: class BlurRectSeparableBench: public BlurRectBench { public: - BlurRectSeparableBench(SkScalar rad) : INHERITED(rad) { - fSrcMask.fImage = nullptr; - } + BlurRectSeparableBench(SkScalar rad) : INHERITED(rad) { } ~BlurRectSeparableBench() { SkMask::FreeImage(fSrcMask.fImage); @@ -144,9 +144,10 @@ protected: void makeBlurryRect(const SkRect&) override { SkMask mask; - mask.fImage = nullptr; - SkBlurMask::BoxBlur(&mask, fSrcMask, SkBlurMask::ConvertRadiusToSigma(this->radius()), - kNormal_SkBlurStyle, kHigh_SkBlurQuality); + if (!SkBlurMask::BoxBlur(&mask, fSrcMask, SkBlurMask::ConvertRadiusToSigma(this->radius()), + kNormal_SkBlurStyle, kHigh_SkBlurQuality)) { + return; + } SkMask::FreeImage(mask.fImage); } private: @@ -171,9 +172,10 @@ protected: void makeBlurryRect(const SkRect&) override { SkMask mask; - mask.fImage = nullptr; - SkBlurMask::BlurGroundTruth(SkBlurMask::ConvertRadiusToSigma(this->radius()), - &mask, fSrcMask, kNormal_SkBlurStyle); + if (!SkBlurMask::BlurGroundTruth(SkBlurMask::ConvertRadiusToSigma(this->radius()), + &mask, fSrcMask, kNormal_SkBlurStyle)) { + return; + } SkMask::FreeImage(mask.fImage); } private: |