diff options
Diffstat (limited to 'src/mbgl/renderer/painter_symbol.cpp')
-rw-r--r-- | src/mbgl/renderer/painter_symbol.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp index 9710120a0c..dea6b8a6e6 100644 --- a/src/mbgl/renderer/painter_symbol.cpp +++ b/src/mbgl/renderer/painter_symbol.cpp @@ -119,16 +119,6 @@ void Painter::renderSymbol(SymbolBucket &bucket, const StyleLayer &layer_desc, c const auto &properties = layer_desc.getProperties<SymbolProperties>(); const auto &layout = bucket.layout; - // TODO remove the `|| true` when #1673 is implemented - const bool drawAcrossEdges = !(layout.text.allow_overlap || layout.icon.allow_overlap || - layout.text.ignore_placement || layout.icon.ignore_placement) || true; - - // Disable the stencil test so that labels aren't clipped to tile boundaries. - // - // Layers with features that may be drawn overlapping aren't clipped. These - // layers are sorted in the y direction, and to draw the correct ordering near - // tile edges the icons are included in both tiles and clipped when drawing. - config.stencilTest = drawAcrossEdges ? false : true; config.depthTest = true; config.depthMask = GL_FALSE; @@ -149,6 +139,17 @@ void Painter::renderSymbol(SymbolBucket &bucket, const StyleLayer &layer_desc, c } + // TODO remove the `|| true` when #1673 is implemented + const bool drawAcrossEdges = !(layout.text.allow_overlap || layout.icon.allow_overlap || + layout.text.ignore_placement || layout.icon.ignore_placement) || true; + + // Disable the stencil test so that labels aren't clipped to tile boundaries. + // + // Layers with features that may be drawn overlapping aren't clipped. These + // layers are sorted in the y direction, and to draw the correct ordering near + // tile edges the icons are included in both tiles and clipped when drawing. + config.stencilTest = drawAcrossEdges ? false : true; + if (bucket.hasIconData()) { bool sdf = bucket.sdfIcons; |