diff options
Diffstat (limited to 'chromium/third_party/skia/bench/RectanizerBench.cpp')
-rw-r--r-- | chromium/third_party/skia/bench/RectanizerBench.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/chromium/third_party/skia/bench/RectanizerBench.cpp b/chromium/third_party/skia/bench/RectanizerBench.cpp index 24dc1fe1b5d..833a39f736c 100644 --- a/chromium/third_party/skia/bench/RectanizerBench.cpp +++ b/chromium/third_party/skia/bench/RectanizerBench.cpp @@ -10,7 +10,7 @@ #include "include/private/SkTDArray.h" #include "include/utils/SkRandom.h" -#include "src/core/SkMathPriv.h" +#include "src/gpu/GrRectanizerPow2.h" #include "src/gpu/GrRectanizerSkyline.h" /** @@ -29,6 +29,7 @@ public: static const int kHeight = 1024; enum RectanizerType { + kPow2_RectanizerType, kSkyline_RectanizerType, }; @@ -40,9 +41,15 @@ public: RectanizerBench(RectanizerType rectanizerType, RectType rectType) : fName("rectanizer_") + , fRectanizerType(rectanizerType) , fRectType(rectType) { - fName.append("skyline_"); + if (kPow2_RectanizerType == fRectanizerType) { + fName.append("pow2_"); + } else { + SkASSERT(kSkyline_RectanizerType == fRectanizerType); + fName.append("skyline_"); + } if (kRand_RectType == fRectType) { fName.append("rand"); @@ -66,7 +73,12 @@ protected: void onDelayedSetup() override { SkASSERT(nullptr == fRectanizer.get()); - fRectanizer.reset(new GrRectanizerSkyline(kWidth, kHeight)); + if (kPow2_RectanizerType == fRectanizerType) { + fRectanizer.reset(new GrRectanizerPow2(kWidth, kHeight)); + } else { + SkASSERT(kSkyline_RectanizerType == fRectanizerType); + fRectanizer.reset(new GrRectanizerSkyline(kWidth, kHeight)); + } } void onDraw(int loops, SkCanvas* canvas) override { @@ -99,14 +111,21 @@ protected: private: SkString fName; + RectanizerType fRectanizerType; RectType fRectType; - std::unique_ptr<GrRectanizerSkyline> fRectanizer; + std::unique_ptr<GrRectanizer> fRectanizer; typedef Benchmark INHERITED; }; ////////////////////////////////////////////////////////////////////////////// +DEF_BENCH(return new RectanizerBench(RectanizerBench::kPow2_RectanizerType, + RectanizerBench::kRand_RectType);) +DEF_BENCH(return new RectanizerBench(RectanizerBench::kPow2_RectanizerType, + RectanizerBench::kRandPow2_RectType);) +DEF_BENCH(return new RectanizerBench(RectanizerBench::kPow2_RectanizerType, + RectanizerBench::kSmallPow2_RectType);) DEF_BENCH(return new RectanizerBench(RectanizerBench::kSkyline_RectanizerType, RectanizerBench::kRand_RectType);) DEF_BENCH(return new RectanizerBench(RectanizerBench::kSkyline_RectanizerType, |