summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile_worker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile/geometry_tile_worker.cpp')
-rw-r--r--src/mbgl/tile/geometry_tile_worker.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp
index 738c78572d..e6aaf05d1a 100644
--- a/src/mbgl/tile/geometry_tile_worker.cpp
+++ b/src/mbgl/tile/geometry_tile_worker.cpp
@@ -210,6 +210,13 @@ void GeometryTileWorker::redoLayout() {
std::unordered_map<std::string, std::unique_ptr<Bucket>> buckets;
auto featureIndex = std::make_unique<FeatureIndex>();
+ BucketParameters parameters(id,
+ obsolete,
+ reinterpret_cast<uintptr_t>(this),
+ glyphAtlas,
+ *featureIndex,
+ mode);
+
for (auto i = layers->rbegin(); i != layers->rend(); i++) {
if (obsolete) {
return;
@@ -235,18 +242,10 @@ void GeometryTileWorker::redoLayout() {
continue;
}
- BucketParameters parameters(id,
- *geometryLayer,
- obsolete,
- reinterpret_cast<uintptr_t>(this),
- glyphAtlas,
- *featureIndex,
- mode);
-
if (layer->is<SymbolLayer>()) {
- symbolLayouts.push_back(layer->as<SymbolLayer>()->impl->createLayout(parameters));
+ symbolLayouts.push_back(layer->as<SymbolLayer>()->impl->createLayout(parameters, *geometryLayer));
} else {
- std::unique_ptr<Bucket> bucket = layer->baseImpl->createBucket(parameters);
+ std::unique_ptr<Bucket> bucket = layer->baseImpl->createBucket(parameters, *geometryLayer);
if (bucket->hasData()) {
buckets.emplace(layer->baseImpl->bucketName(), std::move(bucket));
}