Index: src/gpu/GrDistanceFieldTextContext.cpp |
diff --git a/src/gpu/GrDistanceFieldTextContext.cpp b/src/gpu/GrDistanceFieldTextContext.cpp |
index 1f4070f4f5bef4ad43b5fd74cb6b2b5846df417b..d35ba233e720c12f87f228c7c9f4545aed27aee7 100755 |
--- a/src/gpu/GrDistanceFieldTextContext.cpp |
+++ b/src/gpu/GrDistanceFieldTextContext.cpp |
@@ -403,9 +403,11 @@ void GrDistanceFieldTextContext::setupCoverageEffect(const SkColor& filteredColo |
if (textureUniqueID != fEffectTextureUniqueID || |
filteredColor != fEffectColor || |
flags != fEffectFlags) { |
+ GrColor color = fPaint.getColor(); |
if (fUseLCDText) { |
GrColor colorNoPreMul = skcolor_to_grcolor_nopremultiply(filteredColor); |
- fCachedGeometryProcessor.reset(GrDistanceFieldLCDTextureEffect::Create(fCurrTexture, |
+ fCachedGeometryProcessor.reset(GrDistanceFieldLCDTextureEffect::Create(color, |
+ fCurrTexture, |
params, |
fGammaTexture, |
gammaParams, |
@@ -416,15 +418,18 @@ void GrDistanceFieldTextContext::setupCoverageEffect(const SkColor& filteredColo |
#ifdef SK_GAMMA_APPLY_TO_A8 |
U8CPU lum = SkColorSpaceLuminance::computeLuminance(fDeviceProperties.gamma(), |
filteredColor); |
- fCachedGeometryProcessor.reset(GrDistanceFieldTextureEffect::Create(fCurrTexture, |
+ fCachedGeometryProcessor.reset(GrDistanceFieldTextureEffect::Create(color, |
+ fCurrTexture, |
params, |
fGammaTexture, |
gammaParams, |
lum/255.f, |
flags)); |
#else |
- fCachedGeometryProcessor.reset(GrDistanceFieldNoGammaTextureEffect::Create(fCurrTexture, |
- params, flags)); |
+ fCachedGeometryProcessor.reset(GrDistanceFieldNoGammaTextureEffect::Create(color, |
+ fCurrTexture, |
+ params, |
+ flags)); |
#endif |
} |
fEffectTextureUniqueID = textureUniqueID; |