Index: src/effects/SkTableColorFilter.cpp |
diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp |
index b0e61cad56ba806c33460bbb7b4e5ff127f2ad2e..487968b703511c0b0334e48948a1045ce60c854c 100644 |
--- a/src/effects/SkTableColorFilter.cpp |
+++ b/src/effects/SkTableColorFilter.cpp |
@@ -404,19 +404,20 @@ bool ColorTableEffect::onIsEqual(const GrProcessor& sBase) const { |
void ColorTableEffect::onComputeInvariantOutput(InvariantOutput* inout) const { |
// If we kept the table in the effect then we could actually run known inputs through the |
// table. |
+ uint8_t invalidateFlags = 0; |
if (fFlags & SkTable_ColorFilter::kR_Flag) { |
- inout->fValidFlags &= ~kR_GrColorComponentFlag; |
+ invalidateFlags |= kR_GrColorComponentFlag; |
} |
if (fFlags & SkTable_ColorFilter::kG_Flag) { |
- inout->fValidFlags &= ~kG_GrColorComponentFlag; |
+ invalidateFlags |= kG_GrColorComponentFlag; |
} |
if (fFlags & SkTable_ColorFilter::kB_Flag) { |
- inout->fValidFlags &= ~kB_GrColorComponentFlag; |
+ invalidateFlags |= kB_GrColorComponentFlag; |
} |
if (fFlags & SkTable_ColorFilter::kA_Flag) { |
- inout->fValidFlags &= ~kA_GrColorComponentFlag; |
+ invalidateFlags |= kA_GrColorComponentFlag; |
} |
- inout->fIsSingleComponent = false; |
+ inout->invalidateComponents(invalidateFlags); |
} |
/////////////////////////////////////////////////////////////////////////////// |