diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-06-06 11:26:52 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-06-10 19:36:47 +0300 |
commit | 737665bc070e9db4544b5d78ca69baf72ec958dc (patch) | |
tree | b16f5e0c771765362ade518e4b440d4b8fabc322 /src/mbgl/renderer/sources/render_tile_source.cpp | |
parent | f5631d8ef5a1307e50975ab2f767dd7ee544f466 (diff) | |
download | qtlocation-mapboxgl-737665bc070e9db4544b5d78ca69baf72ec958dc.tar.gz |
[core] Refactor tile pyramid
Tile pyramid is no longer operating with `RenderTiles` and does not perform
rendering operations (upload, finish render).
Render tiles belong to rendering, and tile pyramid belongs to orchestration.
Diffstat (limited to 'src/mbgl/renderer/sources/render_tile_source.cpp')
-rw-r--r-- | src/mbgl/renderer/sources/render_tile_source.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/mbgl/renderer/sources/render_tile_source.cpp b/src/mbgl/renderer/sources/render_tile_source.cpp index a906945e4f..b1fa824e68 100644 --- a/src/mbgl/renderer/sources/render_tile_source.cpp +++ b/src/mbgl/renderer/sources/render_tile_source.cpp @@ -1,4 +1,6 @@ #include <mbgl/renderer/sources/render_tile_source.hpp> + +#include <mbgl/renderer/buckets/debug_bucket.hpp> #include <mbgl/renderer/render_tile.hpp> #include <mbgl/renderer/paint_parameters.hpp> #include <mbgl/tile/vector_tile.hpp> @@ -19,15 +21,23 @@ bool RenderTileSource::isLoaded() const { } void RenderTileSource::upload(gfx::UploadPass& parameters) { - tilePyramid.upload(parameters); + for (auto& tile : renderTiles) { + tile.upload(parameters); + } } void RenderTileSource::prepare(const SourcePrepareParameters& parameters) { - tilePyramid.prepare(parameters); + renderTiles.clear(); + for (auto& entry : tilePyramid.getRenderTiles()) { + renderTiles.emplace_back(entry.first, entry.second); + renderTiles.back().prepare(parameters); + } } void RenderTileSource::finishRender(PaintParameters& parameters) { - tilePyramid.finishRender(parameters); + for (auto& tile : renderTiles) { + tile.finishRender(parameters); + } } void RenderTileSource::updateFadingTiles() { @@ -39,7 +49,7 @@ bool RenderTileSource::hasFadingTiles() const { } std::vector<std::reference_wrapper<RenderTile>> RenderTileSource::getRenderTiles() { - return tilePyramid.getRenderTiles(); + return { renderTiles.begin(), renderTiles.end() }; } std::unordered_map<std::string, std::vector<Feature>> |