From afb48b62272e280d766f8e97c9cdd3417961a546 Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Mon, 3 Oct 2016 15:14:04 -0400 Subject: [PATCH] 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 Reviewed-by: Mike Klein --- bench/SkRasterPipelineBench.cpp | 25 ++++++++++++++++--------- 1 file 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 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; ) +DEF_BENCH( return new SkRasterPipelineBench; )