aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-02-13 09:25:22 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-13 14:48:23 +0000
commit366093f2124c38fa5c590c9ed2d1811817fed8ee (patch)
treea4d4d1b15a425704a7ea09575d7ce7c97bc4c2a7 /tests
parenta3cc32c94579289e99ca46235602a13f20fe5996 (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.cpp9
-rw-r--r--tests/ReadWriteAlphaTest.cpp6
-rw-r--r--tests/SRGBReadWritePixelsTest.cpp6
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;