| Index: bench/HardStopGradientBench.cpp
|
| diff --git a/bench/HardStopGradientBench.cpp b/bench/HardStopGradientBench.cpp
|
| deleted file mode 100644
|
| index 8851cec4d5288311d04b93f065fa6473324711fd..0000000000000000000000000000000000000000
|
| --- a/bench/HardStopGradientBench.cpp
|
| +++ /dev/null
|
| @@ -1,118 +0,0 @@
|
| -/*
|
| - * Copyright 2016 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include "Benchmark.h"
|
| -
|
| -#include "SkCanvas.h"
|
| -#include "SkShader.h"
|
| -#include "SkGradientShader.h"
|
| -#include "SkString.h"
|
| -#include "SkColor.h"
|
| -#include "SkPaint.h"
|
| -
|
| -static const char* get_tilemode_name(SkShader::TileMode tilemode) {
|
| - switch (tilemode) {
|
| - case SkShader::kClamp_TileMode:
|
| - return "clamp";
|
| - case SkShader::kRepeat_TileMode:
|
| - return "repeat";
|
| - case SkShader::kMirror_TileMode:
|
| - return "mirror";
|
| - default:
|
| - SkDEBUGFAIL("Unknown tilemode");
|
| - return "error";
|
| - }
|
| -}
|
| -
|
| -class HardStopGradientBench : public Benchmark {
|
| -public:
|
| - HardStopGradientBench(SkShader::TileMode tilemode, int count) {
|
| - fName.printf("hardstop_%s_%03d_colors", get_tilemode_name(tilemode), count);
|
| -
|
| - fTileMode = tilemode;
|
| - fColorCount = count;
|
| - }
|
| -
|
| - const char* onGetName() override {
|
| - return fName.c_str();
|
| - }
|
| -
|
| - SkIPoint onGetSize() override {
|
| - return SkIPoint::Make(kSize, kSize);
|
| - }
|
| -
|
| - void onPreDraw(SkCanvas* canvas) override {
|
| - // Left to right
|
| - SkPoint points[2] = {
|
| - SkPoint::Make(0, kSize/2),
|
| - SkPoint::Make(kSize-1, kSize/2),
|
| - };
|
| -
|
| - // "Evenly spaced" colors
|
| - SkColor colors[50];
|
| - for (int i = 0; i < fColorCount; i++) {
|
| - colors[i] = i * (0xffffffff / fColorCount);
|
| - }
|
| -
|
| - // Create a hard stop
|
| - SkScalar positions[50];
|
| - positions[0] = 0.0f;
|
| - positions[1] = 0.0f;
|
| - for (int i = 2; i < fColorCount; i++) {
|
| - // Evenly spaced afterwards
|
| - positions[i] = i / (fColorCount - 1.0f);
|
| - }
|
| -
|
| - fPaint.setShader(SkGradientShader::MakeLinear(points,
|
| - colors,
|
| - positions,
|
| - fColorCount,
|
| - fTileMode,
|
| - 0,
|
| - nullptr));
|
| - }
|
| -
|
| - /*
|
| - * Draw simple linear gradient from left to right
|
| - */
|
| - void onDraw(int loops, SkCanvas* canvas) override {
|
| - for (int i = 0; i < loops; i++) {
|
| - canvas->drawPaint(fPaint);
|
| - }
|
| - }
|
| -
|
| -private:
|
| - static const int kSize = 500;
|
| -
|
| - SkShader::TileMode fTileMode;
|
| - SkString fName;
|
| - int fColorCount;
|
| - SkPaint fPaint;
|
| -
|
| - typedef Benchmark INHERITED;
|
| -};
|
| -
|
| -// Clamp
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 5);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 10);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 25);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 50);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kClamp_TileMode, 100);)
|
| -
|
| -// Repeat
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 5);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 10);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 25);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 50);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kRepeat_TileMode, 100);)
|
| -
|
| -// Mirror
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 5);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 10);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 25);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 50);)
|
| -DEF_BENCH(return new HardStopGradientBench(SkShader::kMirror_TileMode, 100);)
|
|
|