aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-12-04 14:05:56 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-04 19:29:49 +0000
commit364c4c87c1321625ae961d8f2cf315096ccfd462 (patch)
treed044c73437773df627cecaff29e53f287efa822c /src
parent8d1e67ed6b75909ac20211ae3aec130587920cec (diff)
Only look at gamut_transform if we wrote to it.
If we're already in sRGB gamut, we will not write to the 3x4 matrix, but we still analyze it to see if we need clamping. So we might (harmlessly) re-clamp some already clamped colors unnecessarily. Found by this Chromium MSAN bot. Bug: chromium:789767 Change-Id: I5d76e59b541a03ee8efbd4352262b4f650e1ec01 Reviewed-on: https://skia-review.googlesource.com/79762 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src')
-rw-r--r--src/effects/SkToSRGBColorFilter.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/effects/SkToSRGBColorFilter.cpp b/src/effects/SkToSRGBColorFilter.cpp
index 948c4d908b..41b54e1ecd 100644
--- a/src/effects/SkToSRGBColorFilter.cpp
+++ b/src/effects/SkToSRGBColorFilter.cpp
@@ -40,15 +40,15 @@ void SkToSRGBColorFilter::onAppendStages(SkRasterPipeline* p,
// Step 2: Transform to sRGB gamut, without clamping.
float* gamut_transform = alloc->makeArrayDefault<float>(12);
- (void)append_gamut_transform_noclamp(p,
- gamut_transform,
- fSrcColorSpace.get(),
- SkColorSpace::MakeSRGB().get());
-
- bool needs_clamp_0, needs_clamp_1;
- analyze_3x4_matrix(gamut_transform, &needs_clamp_0, &needs_clamp_1);
- if (needs_clamp_0 || needs_clamp_1) {
- p->set_clamped(false);
+ if (append_gamut_transform_noclamp(p,
+ gamut_transform,
+ fSrcColorSpace.get(),
+ SkColorSpace::MakeSRGB().get())) {
+ bool needs_clamp_0, needs_clamp_1;
+ analyze_3x4_matrix(gamut_transform, &needs_clamp_0, &needs_clamp_1);
+ if (needs_clamp_0 || needs_clamp_1) {
+ p->set_clamped(false);
+ }
}
// Step 3: Back to sRGB encoding.