From 2b23c4bf3186bf3fa71bb105afdcf3b8e5995b52 Mon Sep 17 00:00:00 2001 From: Brian Osman Date: Fri, 1 Jun 2018 12:25:08 -0400 Subject: 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 Reviewed-by: Mike Klein Reviewed-by: Brian Salomon --- tools/fiddle/fiddle_main.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'tools/fiddle') diff --git a/tools/fiddle/fiddle_main.cpp b/tools/fiddle/fiddle_main.cpp index f000025e6a..526e314220 100644 --- a/tools/fiddle/fiddle_main.cpp +++ b/tools/fiddle/fiddle_main.cpp @@ -164,8 +164,7 @@ static bool setup_backend_objects(GrContext* context, } backingTexture = resourceProvider->createTexture(backingDesc, SkBudgeted::kNo, texels.get(), - mipLevelCount, - SkDestinationSurfaceColorMode::kLegacy); + mipLevelCount); if (!backingTexture) { return false; } @@ -191,8 +190,8 @@ static bool setup_backend_objects(GrContext* context, // We use this fact to initialize it with data but don't allow mipmaps GrMipLevel level0 = { data.get(), backingDesc.fWidth*sizeof(uint32_t) }; - sk_sp tmp = resourceProvider->createTexture( - backingDesc, SkBudgeted::kNo, &level0, 1, SkDestinationSurfaceColorMode::kLegacy); + sk_sp tmp = resourceProvider->createTexture(backingDesc, SkBudgeted::kNo, + &level0, 1); if (!tmp || !tmp->asRenderTarget()) { return false; } @@ -219,9 +218,8 @@ static bool setup_backend_objects(GrContext* context, texels[i].fRowBytes = 0; } - backingTextureRenderTarget = resourceProvider->createTexture( - backingDesc, SkBudgeted::kNo, texels.get(), mipLevelCount, - SkDestinationSurfaceColorMode::kLegacy); + backingTextureRenderTarget = resourceProvider->createTexture(backingDesc, SkBudgeted::kNo, + texels.get(), mipLevelCount); if (!backingTextureRenderTarget || !backingTextureRenderTarget->asRenderTarget()) { return false; } -- cgit v1.2.3