From 3400f4b00aaf9159713d9a7bb0a4f828fd6899c3 Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Mon, 30 Sep 2013 19:41:09 +0000 Subject: Add 3 color variant to gradient bench, include scale in name, add more benchs R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/25294003 git-svn-id: http://skia.googlecode.com/svn/trunk@11536 2bbb7eff-a529-9590-31e7-b0007b416f81 --- bench/GradientBench.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'bench/GradientBench.cpp') diff --git a/bench/GradientBench.cpp b/bench/GradientBench.cpp index 029c365071..5ec9d8784e 100644 --- a/bench/GradientBench.cpp +++ b/bench/GradientBench.cpp @@ -35,9 +35,12 @@ static const SkColor gColors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorWHITE, SK_ColorBLACK, // 10 lines, 50 colors }; +// We have several special-cases depending on the number (and spacing) of colors, so +// try to exercise those here. static const GradData gGradData[] = { { 2, gColors, NULL, "" }, { 50, gColors, NULL, "_hicolor" }, // many color gradient + { 3, gColors, NULL, "_3color" }, }; /// Ignores scale @@ -169,9 +172,7 @@ public: GradData data = gGradData[0], SkShader::TileMode tm = SkShader::kClamp_TileMode, GeomType geomType = kRect_GeomType, - float scale = 1.0f - ) - { + float scale = 1.0f) { fName.printf("gradient_%s_%s", gGrads[gradType].fName, tilemodename(tm)); if (geomType != kRect_GeomType) { @@ -179,6 +180,10 @@ public: fName.append(geomtypename(geomType)); } + if (scale != 1.f) { + fName.appendf("_scale_%g", scale); + } + fName.append(data.fName); const SkPoint pts[2] = { @@ -271,8 +276,13 @@ private: DEF_BENCH( return new GradientBench(kLinear_GradType); ) DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[1]); ) +DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[2]); ) DEF_BENCH( return new GradientBench(kLinear_GradType, gGradData[0], SkShader::kMirror_TileMode); ) + +DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0]); ) +DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[1]); ) +DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[2]); ) // Draw a radial gradient of radius 1/2 on a rectangle; half the lines should // be completely pinned, the other half should pe partially pinned DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0], SkShader::kClamp_TileMode, kRect_GeomType, 0.5f); ) @@ -284,11 +294,13 @@ DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0], SkShader::kC DEF_BENCH( return new GradientBench(kRadial_GradType, gGradData[0], SkShader::kMirror_TileMode); ) DEF_BENCH( return new GradientBench(kSweep_GradType); ) DEF_BENCH( return new GradientBench(kSweep_GradType, gGradData[1]); ) +DEF_BENCH( return new GradientBench(kSweep_GradType, gGradData[2]); ) DEF_BENCH( return new GradientBench(kRadial2_GradType); ) DEF_BENCH( return new GradientBench(kRadial2_GradType, gGradData[1]); ) DEF_BENCH( return new GradientBench(kRadial2_GradType, gGradData[0], SkShader::kMirror_TileMode); ) DEF_BENCH( return new GradientBench(kConical_GradType); ) DEF_BENCH( return new GradientBench(kConical_GradType, gGradData[1]); ) +DEF_BENCH( return new GradientBench(kConical_GradType, gGradData[2]); ) DEF_BENCH( return new Gradient2Bench(false); ) DEF_BENCH( return new Gradient2Bench(true); ) -- cgit v1.2.3