summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/renderer_impl.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-10-13 17:53:30 -0700
committerKonstantin Käfer <mail@kkaefer.com>2017-10-17 15:08:22 -0700
commitcbff0a972a9e0a4210c94de1c36f0dce278d01e9 (patch)
treeb784305daa1b487774e2b02ee34a923d5d25b47a /src/mbgl/renderer/renderer_impl.cpp
parent12f78fc8747332a3d54763c9b0cc2e794eefb4f8 (diff)
downloadqtlocation-mapboxgl-cbff0a972a9e0a4210c94de1c36f0dce278d01e9.tar.gz
[core] don't generate clip IDs for buckets/layers that don't need to be clipped
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 1a828b80a3..6a8c18792e 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -370,6 +370,13 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
if (bucket) {
sortedTilesForInsertion.emplace_back(tile);
tile.used = true;
+
+ // We only need clipping when we're _not_ drawing a symbol layer. The only exception
+ // for symbol layers is when we're rendering still images. See render_symbol_layer.cpp
+ // for the exception we make there.
+ if (!symbolLayer || parameters.mapMode == MapMode::Still) {
+ tile.needsClipping = true;
+ }
}
}
layer->setRenderTiles(std::move(sortedTilesForInsertion));