diff options
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r-- | src/mbgl/renderer/bucket.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/renderer/buckets/symbol_bucket.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/renderer/render_orchestrator.cpp | 39 |
4 files changed, 29 insertions, 22 deletions
diff --git a/src/mbgl/renderer/bucket.hpp b/src/mbgl/renderer/bucket.hpp index 3dae53408b..6da0f280e6 100644 --- a/src/mbgl/renderer/bucket.hpp +++ b/src/mbgl/renderer/bucket.hpp @@ -61,7 +61,8 @@ public: } // Places this bucket to the given placement. virtual void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) {} - virtual void updateVertices(const Placement&, bool /*updateOpacities*/, const TransformState&, const RenderTile&, std::set<uint32_t>&) {} + virtual void updateVertices( + const Placement&, bool /*updateOpacities*/, const TransformState&, const RenderTile&, std::set<uint32_t>&) {} protected: Bucket() = default; diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp index c3e4adfab6..5835dd9b86 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.cpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp @@ -303,7 +303,11 @@ void SymbolBucket::place(Placement& placement, const BucketPlacementParameters& placement.placeBucket(*this, params, seenIds); } -void SymbolBucket::updateVertices(const Placement& placement, bool updateOpacities, const TransformState& state, const RenderTile& tile, std::set<uint32_t>& seenIds) { +void SymbolBucket::updateVertices(const Placement& placement, + bool updateOpacities, + const TransformState& state, + const RenderTile& tile, + std::set<uint32_t>& seenIds) { if (updateOpacities) { placement.updateBucketOpacities(*this, state, seenIds); placementChangesUploaded = false; diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp index c2bbcd40a0..3fe6cf20c4 100644 --- a/src/mbgl/renderer/buckets/symbol_bucket.hpp +++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp @@ -68,7 +68,8 @@ public: bool hasData() const override; std::pair<uint32_t, bool> registerAtCrossTileIndex(CrossTileSymbolLayerIndex&, const OverscaledTileID&, uint32_t& maxCrossTileID) override; void place(Placement&, const BucketPlacementParameters&, std::set<uint32_t>&) override; - void updateVertices(const Placement&, bool updateOpacities, const TransformState&, const RenderTile&, std::set<uint32_t>&) override; + void updateVertices( + const Placement&, bool updateOpacities, const TransformState&, const RenderTile&, std::set<uint32_t>&) override; bool hasTextData() const; bool hasIconData() const; bool hasSdfIconData() const; diff --git a/src/mbgl/renderer/render_orchestrator.cpp b/src/mbgl/renderer/render_orchestrator.cpp index 832fd461ab..28f6ab3199 100644 --- a/src/mbgl/renderer/render_orchestrator.cpp +++ b/src/mbgl/renderer/render_orchestrator.cpp @@ -72,8 +72,7 @@ public: patternAtlas(patternAtlas_), layersNeedPlacement(std::move(layersNeedPlacement_)), placement(std::move(placement_)), - updateSymbolOpacities(updateSymbolOpacities_) { - } + updateSymbolOpacities(updateSymbolOpacities_) {} void prepare() override { for (auto it = layersNeedPlacement.rbegin(); it != layersNeedPlacement.rend(); ++it) { @@ -375,7 +374,7 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree(const UpdatePar crossTileSymbolIndex.reset(); } - bool symbolBucketsAdded = false; + bool symbolBucketsAdded = false; for (auto it = layersNeedPlacement.rbegin(); it != layersNeedPlacement.rend(); ++it) { auto result = crossTileSymbolIndex.addLayer(*it, updateParameters.transformState.getLatLng().longitude()); symbolBucketsAdded = symbolBucketsAdded || (result & CrossTileSymbolIndex::AddLayerResult::BucketsAdded); @@ -386,15 +385,17 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree(const UpdatePar // a short period of time. Instead, we squeeze placement update period to coalesce buckets updates from several tiles. optional<Duration> maximumPlacementUpdatePeriod; if (symbolBucketsAdded) maximumPlacementUpdatePeriod = optional<Duration>(Milliseconds(30)); - renderTreeParameters->placementChanged = !placementController.placementIsRecent(updateParameters.timePoint, updateParameters.transformState.getZoom(), maximumPlacementUpdatePeriod); + renderTreeParameters->placementChanged = !placementController.placementIsRecent( + updateParameters.timePoint, updateParameters.transformState.getZoom(), maximumPlacementUpdatePeriod); symbolBucketsChanged |= renderTreeParameters->placementChanged; std::set<std::string> usedSymbolLayers; if (renderTreeParameters->placementChanged) { - Mutable<Placement> placement = makeMutable<Placement>( - updateParameters.transformState, updateParameters.mode, - updateParameters.transitionOptions, updateParameters.crossSourceCollisions, - placementController.getPlacement()); + Mutable<Placement> placement = makeMutable<Placement>(updateParameters.transformState, + updateParameters.mode, + updateParameters.transitionOptions, + updateParameters.crossSourceCollisions, + placementController.getPlacement()); for (auto it = layersNeedPlacement.rbegin(); it != layersNeedPlacement.rend(); ++it) { const RenderLayer& layer = *it; @@ -410,8 +411,9 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree(const UpdatePar placementController.setPlacement(std::move(placement)); } else { placementController.setPlacementStale(); - } - renderTreeParameters->symbolFadeChange = placementController.getPlacement()->symbolFadeChange(updateParameters.timePoint); + } + renderTreeParameters->symbolFadeChange = + placementController.getPlacement()->symbolFadeChange(updateParameters.timePoint); } renderTreeParameters->needsRepaint = isMapModeContinuous && hasTransitions(updateParameters.timePoint); @@ -428,15 +430,14 @@ std::unique_ptr<RenderTree> RenderOrchestrator::createRenderTree(const UpdatePar } } - return std::make_unique<RenderTreeImpl>( - std::move(renderTreeParameters), - std::move(layerRenderItems), - std::move(sourceRenderItems), - *lineAtlas, - *patternAtlas, - std::move(layersNeedPlacement), - placementController.getPlacement(), - symbolBucketsChanged); + return std::make_unique<RenderTreeImpl>(std::move(renderTreeParameters), + std::move(layerRenderItems), + std::move(sourceRenderItems), + *lineAtlas, + *patternAtlas, + std::move(layersNeedPlacement), + placementController.getPlacement(), + symbolBucketsChanged); } std::vector<Feature> RenderOrchestrator::queryRenderedFeatures(const ScreenLineString& geometry, const RenderedQueryOptions& options) const { |