| 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;
|
|
|