diff options
author | 2016-10-18 10:02:51 -0700 | |
---|---|---|
committer | 2016-10-18 10:02:52 -0700 | |
commit | 9488833428e83c93a7e6002f4d056084fb57112f (patch) | |
tree | 725cd5f30d3b685b3e7d18eb68a551d9b76ad5df /tests/TestConfigParsing.cpp | |
parent | b9eb887f8baa3dcf89b0106a799aff03b5c1cbba (diff) |
Refactored SkColorSpace and added in a Lab PCS GM
The refactoring breaks off A2B0 tag support into a separate
subclass of SkColorSpace_Base, while keeping the current
(besides CLUT) functionality in a XYZTRC subclass.
ICC profile loading is now aware of this and creates the A2B0
subclass when SkColorSpace::NewICC() is called on a profile
in need of the A2B0 functionality.
The LabPCSDemo GM loads a .icc profile containing a LAB PCS and
then runs a Lab->XYZ conversion on an image using it so we can
display it and test out the A2B0 SkColorSpace functionality,
sans a/b/m-curves, as well as the Lab->XYZ conversion code.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2389983002
Review-Url: https://codereview.chromium.org/2389983002
Diffstat (limited to 'tests/TestConfigParsing.cpp')
-rw-r--r-- | tests/TestConfigParsing.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/tests/TestConfigParsing.cpp b/tests/TestConfigParsing.cpp index 412be73626..ec6d721908 100644 --- a/tests/TestConfigParsing.cpp +++ b/tests/TestConfigParsing.cpp @@ -126,22 +126,28 @@ DEF_TEST(ParseConfigs_DefaultConfigs, reporter) { REPORTER_ASSERT(reporter, configs[25]->asConfigGpu()->getColorType() == kRGBA_F16_SkColorType); REPORTER_ASSERT(reporter, configs[25]->asConfigGpu()->getColorSpace()); REPORTER_ASSERT(reporter, configs[25]->asConfigGpu()->getColorSpace()->gammaIsLinear()); - REPORTER_ASSERT(reporter, as_CSB(configs[25]->asConfigGpu()->getColorSpace())->toXYZD50() == - as_CSB(srgbColorSpace)->toXYZD50()); + const SkMatrix44* srgbXYZ = as_CSB(srgbColorSpace)->toXYZD50(); + SkASSERT(srgbXYZ); + const SkMatrix44* config25XYZ = + as_CSB(configs[25]->asConfigGpu()->getColorSpace())->toXYZD50(); + SkASSERT(config25XYZ); + REPORTER_ASSERT(reporter, *config25XYZ == *srgbXYZ); REPORTER_ASSERT(reporter, configs[26]->asConfigGpu()->getColorType() == kRGBA_8888_SkColorType); REPORTER_ASSERT(reporter, configs[26]->asConfigGpu()->getColorSpace() == srgbColorSpace.get()); REPORTER_ASSERT(reporter, configs[41]->asConfigGpu()->getColorType() == kRGBA_F16_SkColorType); REPORTER_ASSERT(reporter, configs[41]->asConfigGpu()->getColorSpace()); REPORTER_ASSERT(reporter, configs[41]->asConfigGpu()->getColorSpace()->gammaIsLinear()); - REPORTER_ASSERT(reporter, as_CSB(configs[41]->asConfigGpu()->getColorSpace())->toXYZD50() != - as_CSB(srgbColorSpace)->toXYZD50()); + const SkMatrix44* config41XYZ = + as_CSB(configs[41]->asConfigGpu()->getColorSpace())->toXYZD50(); + SkASSERT(config41XYZ); + REPORTER_ASSERT(reporter, *config41XYZ != *srgbXYZ); + REPORTER_ASSERT(reporter, configs[33]->asConfigGpu()->getContextType() == + GrContextFactory::kGL_ContextType); REPORTER_ASSERT(reporter, configs[42]->asConfigGpu()->getColorType() == kRGBA_F16_SkColorType); REPORTER_ASSERT(reporter, configs[42]->asConfigGpu()->getColorSpace()); REPORTER_ASSERT(reporter, configs[42]->asConfigGpu()->getColorSpace()->gammaIsLinear()); - REPORTER_ASSERT(reporter, as_CSB(configs[42]->asConfigGpu()->getColorSpace())->toXYZD50() != - as_CSB(srgbColorSpace)->toXYZD50()); - REPORTER_ASSERT(reporter, configs[33]->asConfigGpu()->getContextType() == - GrContextFactory::kGL_ContextType); + REPORTER_ASSERT(reporter, *as_CSB(configs[42]->asConfigGpu()->getColorSpace())->toXYZD50() != + *as_CSB(srgbColorSpace)->toXYZD50()); REPORTER_ASSERT(reporter, configs[33]->asConfigGpu()->getUseInstanced()); REPORTER_ASSERT(reporter, configs[34]->asConfigGpu()->getContextType() == GrContextFactory::kGL_ContextType); |