Index: tests/ColorSpaceXformTest.cpp |
diff --git a/tests/ColorSpaceXformTest.cpp b/tests/ColorSpaceXformTest.cpp |
index 464801aa62f88075a225db0fb11dfabf8ca23497..d796cdb41f2d73ded4b30afda3298db7f52e0851 100644 |
--- a/tests/ColorSpaceXformTest.cpp |
+++ b/tests/ColorSpaceXformTest.cpp |
@@ -19,7 +19,12 @@ public: |
// Logically we can pass any matrix here. For simplicty, pass I(), i.e. D50 XYZ gamut. |
sk_sp<SkColorSpace> space(new SkColorSpace_Base( |
nullptr, SkColorSpace::kNonStandard_GammaNamed, gammas, SkMatrix::I(), nullptr)); |
- return SkColorSpaceXform::New(space, space); |
msarett
2016/08/23 14:03:12
This test became useless when we added opts for sp
|
+ |
+ // Use constructor with kNone_ColorSpaceMatch to create SkColorSpaceXform. This way, |
+ // we bypass the optimizations for when src == dst and actually do the color xform. |
+ return std::unique_ptr<SkColorSpaceXform>(new SkColorSpaceXform_Base |
+ <SkColorSpace::kNonStandard_GammaNamed, kNone_ColorSpaceMatch> |
+ (space, SkMatrix::I(), space)); |
} |
}; |
@@ -37,19 +42,19 @@ static void test_identity_xform(skiatest::Reporter* r, const sk_sp<SkGammas>& ga |
// Create and perform an identity xform. |
std::unique_ptr<SkColorSpaceXform> xform = ColorSpaceXformTest::CreateIdentityXform(gammas); |
- xform->apply(dstPixels, srcPixels, width, kRGBA_8888_SkColorType, kOpaque_SkAlphaType); |
+ xform->apply(dstPixels, srcPixels, width, kN32_SkColorType, kOpaque_SkAlphaType); |
msarett
2016/08/23 14:03:12
Turns out only testing RGBA->RGBA is a bad idea...
|
// 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), |
- ((dstPixels[i] >> 0) & 0xFF))); |
+ SkGetPackedR32(dstPixels[i]))); |
REPORTER_ASSERT(r, almost_equal(((srcPixels[i] >> 8) & 0xFF), |
- ((dstPixels[i] >> 8) & 0xFF))); |
+ SkGetPackedG32(dstPixels[i]))); |
REPORTER_ASSERT(r, almost_equal(((srcPixels[i] >> 16) & 0xFF), |
- ((dstPixels[i] >> 16) & 0xFF))); |
+ SkGetPackedB32(dstPixels[i]))); |
REPORTER_ASSERT(r, almost_equal(((srcPixels[i] >> 24) & 0xFF), |
- ((dstPixels[i] >> 24) & 0xFF))); |
+ SkGetPackedA32(dstPixels[i]))); |
} |
} |