diff options
author | Mike Klein <mtklein@chromium.org> | 2016-10-03 15:14:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-10-03 19:32:09 +0000 |
commit | afb48b62272e280d766f8e97c9cdd3417961a546 (patch) | |
tree | 44ee2a7f6b17b642080768a430be3c932a3bf7ce /bench/SkRasterPipelineBench.cpp | |
parent | a3b45d4f7db953472df4f11ab1595964b65175f9 (diff) |
Just add the F16 bench from https://skia-review.googlesource.com/c/2860/
BUG=skia:
TBR=msarett@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2875
Change-Id: I615d7aead07196f5c14b22be6f96e7d555a495a8
Reviewed-on: https://skia-review.googlesource.com/2875
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'bench/SkRasterPipelineBench.cpp')
-rw-r--r-- | bench/SkRasterPipelineBench.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/bench/SkRasterPipelineBench.cpp b/bench/SkRasterPipelineBench.cpp index a5e53471cd..bf71d9a8d9 100644 --- a/bench/SkRasterPipelineBench.cpp +++ b/bench/SkRasterPipelineBench.cpp @@ -11,32 +11,39 @@ static const int N = 1023; -static uint32_t dst[N], - src[N]; -static uint8_t mask[N]; +static uint64_t dst[N]; // sRGB or F16 +static uint32_t src[N]; // sRGB +static uint8_t mask[N]; // 8-bit linear // We'll build up a somewhat realistic useful pipeline: // - load srgb src // - scale src by 8-bit mask -// - load srgb dst +// - load srgb/f16 dst // - src = srcover(dst, src) -// - store src back as srgb +// - store src back as srgb/f16 +template <bool kF16> class SkRasterPipelineBench : public Benchmark { public: bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; } - const char* onGetName() override { return "SkRasterPipeline"; } + const char* onGetName() override { + return kF16 ? "SkRasterPipeline_f16" + : "SkRasterPipeline_srgb"; + } void onDraw(int loops, SkCanvas*) override { while (loops --> 0) { SkRasterPipeline p; p.append(SkRasterPipeline::load_s_srgb, src); p.append(SkRasterPipeline:: scale_u8, mask); - p.append(SkRasterPipeline::load_d_srgb, dst); + p.append(kF16 ? SkRasterPipeline::load_d_f16 + : SkRasterPipeline::load_d_srgb, dst); p.append(SkRasterPipeline:: srcover); - p.append(SkRasterPipeline:: store_srgb, dst); + p.append(kF16 ? SkRasterPipeline::store_f16 + : SkRasterPipeline::store_srgb, dst); p.run(N); } } }; -DEF_BENCH( return new SkRasterPipelineBench; ) +DEF_BENCH( return new SkRasterPipelineBench<true>; ) +DEF_BENCH( return new SkRasterPipelineBench<false>; ) |