summaryrefslogtreecommitdiff
path: root/chromium/third_party/skia/bench/RectanizerBench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/bench/RectanizerBench.cpp')
-rw-r--r--chromium/third_party/skia/bench/RectanizerBench.cpp27
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,