diff options
author | Mike Klein <mtklein@chromium.org> | 2017-04-21 12:05:01 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-21 17:16:07 +0000 |
commit | 795c5b156756796cbb3a584c99b1ab51fb5fe187 (patch) | |
tree | 49db029fef63d853d930f4535ae624abddd7bf3a /bench/SkRasterPipelineBench.cpp | |
parent | 9f5d4679e107ab83de635392798b3ddd62f48a12 (diff) |
jumper, implement 2.2 stages with approx_powf
My main interest is getting rid of weird code, but it's also faster.
The new bench drops from 667 to 412.
Change-Id: Ibf889601284cf925780320c828394f79937dc705
Reviewed-on: https://skia-review.googlesource.com/14035
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'bench/SkRasterPipelineBench.cpp')
-rw-r--r-- | bench/SkRasterPipelineBench.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bench/SkRasterPipelineBench.cpp b/bench/SkRasterPipelineBench.cpp index 0ae48ee15d..fa2df4b3e1 100644 --- a/bench/SkRasterPipelineBench.cpp +++ b/bench/SkRasterPipelineBench.cpp @@ -90,3 +90,24 @@ public: } }; DEF_BENCH( return (new SkRasterPipelineLegacyBench); ) + +class SkRasterPipeline_2dot2 : public Benchmark { +public: + bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; } + const char* onGetName() override { + return "SkRasterPipeline_2dot2"; + } + + void onDraw(int loops, SkCanvas*) override { + SkColor4f c = { 1.0f, 1.0f, 1.0f, 1.0f }; + SkRasterPipeline p; + p.append(SkRasterPipeline::constant_color, &c); + p.append(SkRasterPipeline::from_2dot2); + p.append(SkRasterPipeline::to_2dot2); + + while (loops --> 0) { + p.run(0,N); + } + } +}; +DEF_BENCH( return (new SkRasterPipeline_2dot2); ) |