095742419d
Swizzle Runtime (Dell Venue 8) Unpremul 0.17x Premul 0.20x PNG Decode Runtime on GrayAlpha Encoded PNGs (Dell Venue 8) Unpremul Regular 0.91x Unpremul ZeroInit 0.92x Premul Regular 0.84x Premul ZeroInit 0.85x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666853002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1666853002
38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
/*
|
|
* Copyright 2016 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include "Benchmark.h"
|
|
#include "SkOpts.h"
|
|
|
|
class SwizzleBench : public Benchmark {
|
|
public:
|
|
SwizzleBench(const char* name, SkOpts::Swizzle_8888 fn) : fName(name), fFn(fn) {}
|
|
|
|
bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; }
|
|
const char* onGetName() override { return fName; }
|
|
void onDraw(int loops, SkCanvas*) override {
|
|
static const int K = 1023; // Arbitrary, but nice to be a non-power-of-two to trip up SIMD.
|
|
uint32_t dst[K], src[K];
|
|
while (loops --> 0) {
|
|
fFn(dst, src, K);
|
|
}
|
|
}
|
|
private:
|
|
const char* fName;
|
|
SkOpts::Swizzle_8888 fFn;
|
|
};
|
|
|
|
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::RGBA_to_rgbA", SkOpts::RGBA_to_rgbA));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::RGBA_to_bgrA", SkOpts::RGBA_to_bgrA));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::RGBA_to_BGRA", SkOpts::RGBA_to_BGRA));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::RGB_to_RGB1", SkOpts::RGB_to_RGB1));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::RGB_to_BGR1", SkOpts::RGB_to_BGR1));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::gray_to_RGB1", SkOpts::gray_to_RGB1));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::grayA_to_RGBA", SkOpts::grayA_to_RGBA));
|
|
DEF_BENCH(return new SwizzleBench("SkOpts::grayA_to_rgbA", SkOpts::grayA_to_rgbA));
|