diff options
author | Brian Salomon <bsalomon@google.com> | 2018-02-13 09:25:22 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-13 14:48:23 +0000 |
commit | 366093f2124c38fa5c590c9ed2d1811817fed8ee (patch) | |
tree | a4d4d1b15a425704a7ea09575d7ce7c97bc4c2a7 /tests | |
parent | a3cc32c94579289e99ca46235602a13f20fe5996 (diff) |
Make it so that GrSurfaceContext with a sRGB GrPixelConfig must have a
color space with a sRGB-like gamma.
Change-Id: I99b80a9846caacd6848b0f9f55ed0f7f23e69b90
Reviewed-on: https://skia-review.googlesource.com/106640
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/GrSurfaceTest.cpp | 9 | ||||
-rw-r--r-- | tests/ReadWriteAlphaTest.cpp | 6 | ||||
-rw-r--r-- | tests/SRGBReadWritePixelsTest.cpp | 6 |
3 files changed, 13 insertions, 8 deletions
diff --git a/tests/GrSurfaceTest.cpp b/tests/GrSurfaceTest.cpp index 1a8072f3b0..eb975852d1 100644 --- a/tests/GrSurfaceTest.cpp +++ b/tests/GrSurfaceTest.cpp @@ -154,6 +154,10 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(InitialTextureClear, reporter, context_info) for (int c = 0; c <= kLast_GrPixelConfig; ++c) { desc.fConfig = static_cast<GrPixelConfig>(c); + sk_sp<SkColorSpace> colorSpace; + if (GrPixelConfigIsSRGB(desc.fConfig)) { + colorSpace = SkColorSpace::MakeSRGB(); + } if (!context_info.grContext()->caps()->isConfigTexturable(desc.fConfig)) { continue; } @@ -175,9 +179,8 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(InitialTextureClear, reporter, context_info) if (!proxy) { continue; } - auto texCtx = context->contextPriv().makeWrappedSurfaceContext( - std::move(proxy)); + std::move(proxy), colorSpace); SkImageInfo info = SkImageInfo::Make( kSize, kSize, kRGBA_8888_SkColorType, kPremul_SkAlphaType); memset(data.get(), 0xAB, kSize * kSize * sizeof(uint32_t)); @@ -202,7 +205,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(InitialTextureClear, reporter, context_info) // Try creating the texture as a deferred proxy. for (int i = 0; i < 2; ++i) { auto surfCtx = context->contextPriv().makeDeferredSurfaceContext( - desc, GrMipMapped::kNo, fit, SkBudgeted::kYes); + desc, GrMipMapped::kNo, fit, SkBudgeted::kYes, colorSpace); if (!surfCtx) { continue; } diff --git a/tests/ReadWriteAlphaTest.cpp b/tests/ReadWriteAlphaTest.cpp index e6c8c89e7d..68a3ee0983 100644 --- a/tests/ReadWriteAlphaTest.cpp +++ b/tests/ReadWriteAlphaTest.cpp @@ -178,8 +178,12 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { continue; } + sk_sp<SkColorSpace> colorSpace; + if (GrPixelConfigIsSRGB(proxy->config())) { + colorSpace = SkColorSpace::MakeSRGB(); + } sk_sp<GrSurfaceContext> sContext = context->contextPriv().makeWrappedSurfaceContext( - std::move(proxy)); + std::move(proxy), std::move(colorSpace)); for (auto rowBytes : kRowBytes) { size_t nonZeroRowBytes = rowBytes ? rowBytes : X_SIZE; diff --git a/tests/SRGBReadWritePixelsTest.cpp b/tests/SRGBReadWritePixelsTest.cpp index bb7b77c5b9..a177f72ee5 100644 --- a/tests/SRGBReadWritePixelsTest.cpp +++ b/tests/SRGBReadWritePixelsTest.cpp @@ -174,11 +174,9 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { desc.fConfig = kSRGBA_8888_GrPixelConfig; if (context->caps()->isConfigRenderable(desc.fConfig) && context->caps()->isConfigTexturable(desc.fConfig)) { - sk_sp<GrSurfaceContext> sContext = context->contextPriv().makeDeferredSurfaceContext( - desc, GrMipMapped::kNo, - SkBackingFit::kExact, - SkBudgeted::kNo); + desc, GrMipMapped::kNo, SkBackingFit::kExact, SkBudgeted::kNo, + SkColorSpace::MakeSRGB()); if (!sContext) { ERRORF(reporter, "Could not create SRGBA surface context."); return; |