aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/SkRasterPipelineBench.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-04-21 12:05:01 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-21 17:16:07 +0000
commit795c5b156756796cbb3a584c99b1ab51fb5fe187 (patch)
tree49db029fef63d853d930f4535ae624abddd7bf3a /bench/SkRasterPipelineBench.cpp
parent9f5d4679e107ab83de635392798b3ddd62f48a12 (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.cpp21
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); )