diff options
Diffstat (limited to 'src/mbgl/renderer/painter_symbol.cpp')
-rw-r--r-- | src/mbgl/renderer/painter_symbol.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp index 43cd3d5405..9f2d06df22 100644 --- a/src/mbgl/renderer/painter_symbol.cpp +++ b/src/mbgl/renderer/painter_symbol.cpp @@ -187,8 +187,9 @@ void Painter::renderSymbol(SymbolBucket& bucket, const SymbolLayer& layer, const const float fontScale = fontSize / 1.0f; SpriteAtlas* activeSpriteAtlas = layer.spriteAtlas; - activeSpriteAtlas->bind(state.isChanging() || layout.placement == PlacementType::Line - || angleOffset != 0 || fontScale != 1 || sdf || state.getPitch() != 0); + const bool iconScaled = fontScale != 1 || data.pixelRatio != activeSpriteAtlas->getPixelRatio() || bucket.iconsNeedLinear; + const bool iconTransformed = layout.placement == PlacementType::Line || angleOffset != 0 || state.getPitch() != 0; + activeSpriteAtlas->bind(sdf || state.isChanging() || iconScaled || iconTransformed); if (sdf) { renderSDF(bucket, |