diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp index 4f4999b3e..6762bcd4d 100644 --- a/src/mbgl/renderer/painter_symbol.cpp +++ b/src/mbgl/renderer/painter_symbol.cpp @@ -122,9 +122,7 @@ void Painter::renderSymbol(SymbolBucket &bucket, const StyleLayer &layer_desc, c config.depthTest = true; config.depthMask = GL_FALSE; - if (bucket.hasCollisionBoxData() && ( - (bucket.hasIconData() && properties.icon.opacity) || - (bucket.hasTextData() && properties.text.opacity))) { + if (bucket.hasCollisionBoxData()) { config.stencilTest = true; useProgram(collisionBoxShader->program); diff --git a/src/mbgl/renderer/symbol_bucket.cpp b/src/mbgl/renderer/symbol_bucket.cpp index 9f05209ff..d52561d3e 100644 --- a/src/mbgl/renderer/symbol_bucket.cpp +++ b/src/mbgl/renderer/symbol_bucket.cpp @@ -80,7 +80,7 @@ void SymbolBucket::render(Painter& painter, painter.renderSymbol(*this, layer_desc, id, matrix); } -bool SymbolBucket::hasData() const { return hasTextData() || hasIconData(); } +bool SymbolBucket::hasData() const { return hasTextData() || hasIconData() || symbolInstances.size(); } bool SymbolBucket::hasTextData() const { return renderData && !renderData->text.groups.empty(); }