| Index: src/gpu/GrDistanceFieldTextContext.cpp
|
| diff --git a/src/gpu/GrDistanceFieldTextContext.cpp b/src/gpu/GrDistanceFieldTextContext.cpp
|
| index 8d993fa2039e116f4cca56ed9fd55e67131af6e4..69dcaa700ce0b59bc9e90b13da5a130f2eda2bf1 100755
|
| --- a/src/gpu/GrDistanceFieldTextContext.cpp
|
| +++ b/src/gpu/GrDistanceFieldTextContext.cpp
|
| @@ -407,11 +407,13 @@ void GrDistanceFieldTextContext::setupCoverageEffect(const SkColor& filteredColo
|
| // see if we need to create a new effect
|
| if (textureUniqueID != fEffectTextureUniqueID ||
|
| filteredColor != fEffectColor ||
|
| - flags != fEffectFlags) {
|
| + flags != fEffectFlags ||
|
| + !fCachedGeometryProcessor->viewMatrix().cheapEqualTo(fViewMatrix)) {
|
| GrColor color = fPaint.getColor();
|
| if (fUseLCDText) {
|
| GrColor colorNoPreMul = skcolor_to_grcolor_nopremultiply(filteredColor);
|
| fCachedGeometryProcessor.reset(GrDistanceFieldLCDTextureEffect::Create(color,
|
| + fViewMatrix,
|
| fCurrTexture,
|
| params,
|
| fGammaTexture,
|
| @@ -425,6 +427,7 @@ void GrDistanceFieldTextContext::setupCoverageEffect(const SkColor& filteredColo
|
| U8CPU lum = SkColorSpaceLuminance::computeLuminance(fDeviceProperties.gamma(),
|
| filteredColor);
|
| fCachedGeometryProcessor.reset(GrDistanceFieldTextureEffect::Create(color,
|
| + fViewMatrix,
|
| fCurrTexture,
|
| params,
|
| fGammaTexture,
|
| @@ -434,6 +437,7 @@ void GrDistanceFieldTextContext::setupCoverageEffect(const SkColor& filteredColo
|
| opaque));
|
| #else
|
| fCachedGeometryProcessor.reset(GrDistanceFieldNoGammaTextureEffect::Create(color,
|
| + fViewMatrix,
|
| fCurrTexture,
|
| params,
|
| flags,
|
| @@ -633,7 +637,7 @@ void GrDistanceFieldTextContext::flush() {
|
|
|
| if (fCurrVertex > 0) {
|
| GrDrawState drawState;
|
| - drawState.setFromPaint(fPaint, fViewMatrix, fContext->getRenderTarget());
|
| + drawState.setFromPaint(fPaint, fContext->getRenderTarget());
|
|
|
| // setup our sampler state for our text texture/atlas
|
| SkASSERT(SkIsAlign4(fCurrVertex));
|
|
|