aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-06-01 12:25:08 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-01 17:00:26 +0000
commit2b23c4bf3186bf3fa71bb105afdcf3b8e5995b52 (patch)
tree5bd5b115bb5d133682ba6c44e1b3422086e90a6b /bench
parent7abeb28342078af39b19a1448d6147c7258f5203 (diff)
Dest color space no longer impacts mipmaps or texture sampling
PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'bench')
-rw-r--r--bench/MipMapBench.cpp43
-rw-r--r--bench/nanobench.cpp3
2 files changed, 17 insertions, 29 deletions
diff --git a/bench/MipMapBench.cpp b/bench/MipMapBench.cpp
index 9b6fc27cfb..e41d39b928 100644
--- a/bench/MipMapBench.cpp
+++ b/bench/MipMapBench.cpp
@@ -13,14 +13,13 @@ class MipMapBench: public Benchmark {
SkBitmap fBitmap;
SkString fName;
const int fW, fH;
- SkDestinationSurfaceColorMode fColorMode;
bool fHalfFoat;
public:
- MipMapBench(int w, int h, SkDestinationSurfaceColorMode colorMode, bool halfFloat = false)
- : fW(w), fH(h), fColorMode(colorMode), fHalfFoat(halfFloat)
+ MipMapBench(int w, int h, bool halfFloat = false)
+ : fW(w), fH(h), fHalfFoat(halfFloat)
{
- fName.printf("mipmap_build_%dx%d_%d_gamma", w, h, static_cast<int>(colorMode));
+ fName.printf("mipmap_build_%dx%d", w, h);
if (halfFloat) {
fName.append("_f16");
}
@@ -44,7 +43,7 @@ protected:
void onDraw(int loops, SkCanvas*) override {
for (int i = 0; i < loops * 4; i++) {
- SkMipMap::Build(fBitmap, fColorMode, nullptr)->unref();
+ SkMipMap::Build(fBitmap, nullptr)->unref();
}
}
@@ -55,25 +54,15 @@ private:
// Build variants that exercise the width and heights being even or odd at each level, as the
// impl specializes on each of these.
//
-DEF_BENCH( return new MipMapBench(511, 511, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(512, 511, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(511, 512, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(512, 512, SkDestinationSurfaceColorMode::kLegacy); )
-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); )
-DEF_BENCH( return new MipMapBench(2048, 2048, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(2048, 2048,
- SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
-DEF_BENCH( return new MipMapBench(2047, 2047, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(2047, 2047,
- SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
-DEF_BENCH( return new MipMapBench(2048, 2047, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(2048, 2047,
- SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
-DEF_BENCH( return new MipMapBench(2047, 2048, SkDestinationSurfaceColorMode::kLegacy); )
-DEF_BENCH( return new MipMapBench(2047, 2048,
- SkDestinationSurfaceColorMode::kGammaAndColorSpaceAware); )
+DEF_BENCH( return new MipMapBench(511, 511); )
+DEF_BENCH( return new MipMapBench(512, 511); )
+DEF_BENCH( return new MipMapBench(511, 512); )
+DEF_BENCH( return new MipMapBench(512, 512); )
+
+DEF_BENCH( return new MipMapBench(512, 512, true); )
+DEF_BENCH( return new MipMapBench(511, 511, true); )
+
+DEF_BENCH( return new MipMapBench(2048, 2048); )
+DEF_BENCH( return new MipMapBench(2047, 2047); )
+DEF_BENCH( return new MipMapBench(2048, 2047); )
+DEF_BENCH( return new MipMapBench(2047, 2048); )
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index 0376bdbec3..4d2773e605 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -424,8 +424,7 @@ static void create_config(const SkCommandLineConfig* config, SkTArray<Config>* c
GrContextFactory factory(grContextOpts);
if (const GrContext* ctx = factory.get(ctxType, ctxOverrides)) {
- GrPixelConfig grPixConfig =
- SkImageInfo2GrPixelConfig(colorType, colorSpace, *ctx->contextPriv().caps());
+ GrPixelConfig grPixConfig = SkColorType2GrPixelConfig(colorType);
int supportedSampleCount =
ctx->contextPriv().caps()->getRenderTargetSampleCount(sampleCount, grPixConfig);
if (sampleCount != supportedSampleCount) {