aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/MipMapBench.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-03-06 16:16:15 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-06 22:07:59 +0000
commite9c99b8baac224d7329fe6c0d9c69e3a4dac714f (patch)
tree5c0da42b710dba26757462ca1ea88cb12a89d579 /bench/MipMapBench.cpp
parent3802888e2a87e130dcadbfac7802455ece13093f (diff)
Add half-float mipmap benchmarks too
Just trying to get better perf coverage of our mipmapping code, in anticipation of different optimization strategies for the sRGB case. I want to have some good reference points to measure progress. BUG=skia: Change-Id: I62e2d025fdcf9f12e6c86658c6ce7320f14fcc6f Reviewed-on: https://skia-review.googlesource.com/9323 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'bench/MipMapBench.cpp')
-rw-r--r--bench/MipMapBench.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/bench/MipMapBench.cpp b/bench/MipMapBench.cpp
index 36def3ad2d..bffae4292d 100644
--- a/bench/MipMapBench.cpp
+++ b/bench/MipMapBench.cpp
@@ -14,12 +14,16 @@ class MipMapBench: public Benchmark {
SkString fName;
const int fW, fH;
SkDestinationSurfaceColorMode fColorMode;
+ bool fHalfFoat;
public:
- MipMapBench(int w, int h, SkDestinationSurfaceColorMode colorMode)
- : fW(w), fH(h), fColorMode(colorMode)
+ MipMapBench(int w, int h, SkDestinationSurfaceColorMode colorMode, bool halfFloat = false)
+ : fW(w), fH(h), fColorMode(colorMode), fHalfFoat(halfFloat)
{
fName.printf("mipmap_build_%dx%d_%d_gamma", w, h, static_cast<int>(colorMode));
+ if (halfFloat) {
+ fName.append("_f16");
+ }
}
protected:
@@ -30,7 +34,10 @@ protected:
const char* onGetName() override { return fName.c_str(); }
void onDelayedSetup() override {
- SkImageInfo info = SkImageInfo::MakeS32(fW, fH, kPremul_SkAlphaType);
+ SkImageInfo info = fHalfFoat ? SkImageInfo::Make(fW, fH, kRGBA_F16_SkColorType,
+ kPremul_SkAlphaType,
+ SkColorSpace::MakeSRGBLinear())
+ : SkImageInfo::MakeS32(fW, fH, kPremul_SkAlphaType);
fBitmap.allocPixels(info);
fBitmap.eraseColor(SK_ColorWHITE); // so we don't read uninitialized memory
}
@@ -56,3 +63,5 @@ DEF_BENCH( return new MipMapBench(512, 512,
SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
DEF_BENCH( return new MipMapBench(511, 511,
SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
+DEF_BENCH( return new MipMapBench(512, 512, SkDestinationSurfaceColorMode::kLegacy, true); )
+DEF_BENCH( return new MipMapBench(511, 511, SkDestinationSurfaceColorMode::kLegacy, true); )