| Index: tests/ColorSpaceXformTest.cpp
|
| diff --git a/tests/ColorSpaceXformTest.cpp b/tests/ColorSpaceXformTest.cpp
|
| index 2b5db2bbe48bf41f549391486e5f32357bc21b07..7091946bbb75d3325737a9f0485e049e87440156 100644
|
| --- a/tests/ColorSpaceXformTest.cpp
|
| +++ b/tests/ColorSpaceXformTest.cpp
|
| @@ -15,15 +15,10 @@
|
|
|
| class ColorSpaceXformTest {
|
| public:
|
| - static std::unique_ptr<SkColorSpaceXform> CreateDefaultXform(const sk_sp<SkGammas>& srcGamma,
|
| - const SkMatrix44& srcToDst, const sk_sp<SkGammas>& dstGamma) {
|
| -
|
| - sk_sp<SkColorSpace> srcSpace(
|
| - new SkColorSpace_Base(nullptr, srcGamma, SkMatrix::I(), nullptr));
|
| - sk_sp<SkColorSpace> dstSpace(
|
| - new SkColorSpace_Base(nullptr, dstGamma, SkMatrix::I(), nullptr));
|
| -
|
| - return SkColorSpaceXform::New(srcSpace, dstSpace);
|
| + static std::unique_ptr<SkColorSpaceXform> CreateIdentityXform(const sk_sp<SkGammas>& gammas) {
|
| + // Logically we can pass any matrix here. For simplicty, pass I(), i.e. D50 XYZ gamut.
|
| + sk_sp<SkColorSpace> space(new SkColorSpace_Base(nullptr, gammas, SkMatrix::I(), nullptr));
|
| + return SkColorSpaceXform::New(space, space);
|
| }
|
| };
|
|
|
| @@ -31,7 +26,7 @@ static bool almost_equal(int x, int y) {
|
| return SkTAbs(x - y) <= 1;
|
| }
|
|
|
| -static void test_xform(skiatest::Reporter* r, const sk_sp<SkGammas>& gammas) {
|
| +static void test_identity_xform(skiatest::Reporter* r, const sk_sp<SkGammas>& gammas) {
|
| // Arbitrary set of 10 pixels
|
| constexpr int width = 10;
|
| constexpr uint32_t srcPixels[width] = {
|
| @@ -39,16 +34,12 @@ static void test_xform(skiatest::Reporter* r, const sk_sp<SkGammas>& gammas) {
|
| 0xFF32AB52, 0xFF0383BC, 0xFF000102, 0xFFFFFFFF, 0xFFDDEEFF, };
|
| uint32_t dstPixels[width];
|
|
|
| - // Identity matrix
|
| - SkMatrix44 srcToDst = SkMatrix44::I();
|
| -
|
| - // Create and perform xform
|
| - std::unique_ptr<SkColorSpaceXform> xform =
|
| - ColorSpaceXformTest::CreateDefaultXform(gammas, srcToDst, gammas);
|
| + // Create and perform an identity xform.
|
| + std::unique_ptr<SkColorSpaceXform> xform = ColorSpaceXformTest::CreateIdentityXform(gammas);
|
| xform->applyTo8888(dstPixels, srcPixels, width);
|
|
|
| - // Since the matrix is the identity, and the gamma curves match, the pixels
|
| - // should be unchanged.
|
| + // Since the src->dst matrix is the identity, and the gamma curves match,
|
| + // the pixels should be unchanged.
|
| for (int i = 0; i < width; i++) {
|
| REPORTER_ASSERT(r, almost_equal(((srcPixels[i] >> 0) & 0xFF),
|
| SkGetPackedR32(dstPixels[i])));
|
| @@ -81,7 +72,7 @@ DEF_TEST(ColorSpaceXform_TableGamma, r) {
|
| red.fTable[9] = green.fTable[9] = blue.fTable[9] = 1.00f;
|
| sk_sp<SkGammas> gammas =
|
| sk_make_sp<SkGammas>(std::move(red), std::move(green), std::move(blue));
|
| - test_xform(r, gammas);
|
| + test_identity_xform(r, gammas);
|
| }
|
|
|
| DEF_TEST(ColorSpaceXform_ParametricGamma, r) {
|
| @@ -102,7 +93,7 @@ DEF_TEST(ColorSpaceXform_ParametricGamma, r) {
|
| red.fG = green.fG = blue.fG = 2.4f;
|
| sk_sp<SkGammas> gammas =
|
| sk_make_sp<SkGammas>(std::move(red), std::move(green), std::move(blue));
|
| - test_xform(r, gammas);
|
| + test_identity_xform(r, gammas);
|
| }
|
|
|
| DEF_TEST(ColorSpaceXform_ExponentialGamma, r) {
|
| @@ -111,5 +102,5 @@ DEF_TEST(ColorSpaceXform_ExponentialGamma, r) {
|
| red.fValue = green.fValue = blue.fValue = 1.4f;
|
| sk_sp<SkGammas> gammas =
|
| sk_make_sp<SkGammas>(std::move(red), std::move(green), std::move(blue));
|
| - test_xform(r, gammas);
|
| + test_identity_xform(r, gammas);
|
| }
|
|
|