diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-06-08 14:30:47 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-06-13 10:18:43 -0700 |
commit | 17db460345aeab21000cf7c18c9dea8d1543d835 (patch) | |
tree | 365c113a20adc3b7d36db7d2f1e9cf65f46882c7 /src/mbgl/renderer/sources | |
parent | 31bf6719fc845cd83de82b8968b9cd4407f663b7 (diff) | |
download | qtlocation-mapboxgl-17db460345aeab21000cf7c18c9dea8d1543d835.tar.gz |
[core] Parallelism in {start,finish}Render parameters
Diffstat (limited to 'src/mbgl/renderer/sources')
8 files changed, 17 insertions, 32 deletions
diff --git a/src/mbgl/renderer/sources/render_geojson_source.cpp b/src/mbgl/renderer/sources/render_geojson_source.cpp index 96500d8fae..337b7b8b7a 100644 --- a/src/mbgl/renderer/sources/render_geojson_source.cpp +++ b/src/mbgl/renderer/sources/render_geojson_source.cpp @@ -1,5 +1,6 @@ #include <mbgl/renderer/sources/render_geojson_source.hpp> #include <mbgl/renderer/render_tile.hpp> +#include <mbgl/renderer/painter.hpp> #include <mbgl/tile/geojson_tile.hpp> #include <mbgl/algorithm/generate_clip_ids.hpp> @@ -58,9 +59,9 @@ void RenderGeoJSONSource::update(Immutable<style::Source::Impl> baseImpl_, }); } -void RenderGeoJSONSource::startRender(algorithm::ClipIDGenerator& generator, const mat4& projMatrix, const mat4& clipMatrix, const TransformState& transform) { - generator.update(tilePyramid.getRenderTiles()); - tilePyramid.startRender(projMatrix, clipMatrix, transform); +void RenderGeoJSONSource::startRender(Painter& painter) { + painter.clipIDGenerator.update(tilePyramid.getRenderTiles()); + tilePyramid.startRender(painter); } void RenderGeoJSONSource::finishRender(Painter& painter) { diff --git a/src/mbgl/renderer/sources/render_geojson_source.hpp b/src/mbgl/renderer/sources/render_geojson_source.hpp index 2683ef9d21..9b5477e1d0 100644 --- a/src/mbgl/renderer/sources/render_geojson_source.hpp +++ b/src/mbgl/renderer/sources/render_geojson_source.hpp @@ -22,10 +22,7 @@ public: bool needsRelayout, const TileParameters&) final; - void startRender(algorithm::ClipIDGenerator&, - const mat4& projMatrix, - const mat4& clipMatrix, - const TransformState&) final; + void startRender(Painter&) final; void finishRender(Painter&) final; std::map<UnwrappedTileID, RenderTile>& getRenderTiles() final; diff --git a/src/mbgl/renderer/sources/render_image_source.cpp b/src/mbgl/renderer/sources/render_image_source.cpp index ffa8e6bb5e..82ddd318bd 100644 --- a/src/mbgl/renderer/sources/render_image_source.cpp +++ b/src/mbgl/renderer/sources/render_image_source.cpp @@ -26,10 +26,7 @@ bool RenderImageSource::isLoaded() const { return !!bucket; } -void RenderImageSource::startRender(algorithm::ClipIDGenerator&, - const mat4& projMatrix, - const mat4&, - const TransformState& transformState) { +void RenderImageSource::startRender(Painter& painter) { if (!isLoaded()) { return; @@ -39,8 +36,8 @@ void RenderImageSource::startRender(algorithm::ClipIDGenerator&, for (size_t i = 0; i < tileIds.size(); i++) { mat4 matrix; matrix::identity(matrix); - transformState.matrixFor(matrix, tileIds[i]); - matrix::multiply(matrix, projMatrix, matrix); + painter.state.matrixFor(matrix, tileIds[i]); + matrix::multiply(matrix, painter.projMatrix, matrix); matrices.push_back(matrix); } } diff --git a/src/mbgl/renderer/sources/render_image_source.hpp b/src/mbgl/renderer/sources/render_image_source.hpp index c4685cf891..175330b35f 100644 --- a/src/mbgl/renderer/sources/render_image_source.hpp +++ b/src/mbgl/renderer/sources/render_image_source.hpp @@ -21,13 +21,8 @@ public: bool isLoaded() const final; void upload(gl::Context&); - void startRender(algorithm::ClipIDGenerator&, - const mat4& projMatrix, - const mat4& clipMatrix, - const TransformState&) final; - + void startRender(Painter&) final; void render(Painter&, PaintParameters&, const RenderLayer&); - void finishRender(Painter&) final; void update(Immutable<style::Source::Impl>, diff --git a/src/mbgl/renderer/sources/render_raster_source.cpp b/src/mbgl/renderer/sources/render_raster_source.cpp index 81a9771676..385437af1d 100644 --- a/src/mbgl/renderer/sources/render_raster_source.cpp +++ b/src/mbgl/renderer/sources/render_raster_source.cpp @@ -56,8 +56,8 @@ void RenderRasterSource::update(Immutable<style::Source::Impl> baseImpl_, }); } -void RenderRasterSource::startRender(algorithm::ClipIDGenerator&, const mat4& projMatrix, const mat4& clipMatrix, const TransformState& transform) { - tilePyramid.startRender(projMatrix, clipMatrix, transform); +void RenderRasterSource::startRender(Painter& painter) { + tilePyramid.startRender(painter); } void RenderRasterSource::finishRender(Painter& painter) { diff --git a/src/mbgl/renderer/sources/render_raster_source.hpp b/src/mbgl/renderer/sources/render_raster_source.hpp index 9209a5ca65..d1e37a3099 100644 --- a/src/mbgl/renderer/sources/render_raster_source.hpp +++ b/src/mbgl/renderer/sources/render_raster_source.hpp @@ -18,10 +18,7 @@ public: bool needsRelayout, const TileParameters&) final; - void startRender(algorithm::ClipIDGenerator&, - const mat4& projMatrix, - const mat4& clipMatrix, - const TransformState&) final; + void startRender(Painter&) final; void finishRender(Painter&) final; std::map<UnwrappedTileID, RenderTile>& getRenderTiles() final; diff --git a/src/mbgl/renderer/sources/render_vector_source.cpp b/src/mbgl/renderer/sources/render_vector_source.cpp index 30014a89dc..5b266b10a5 100644 --- a/src/mbgl/renderer/sources/render_vector_source.cpp +++ b/src/mbgl/renderer/sources/render_vector_source.cpp @@ -1,5 +1,6 @@ #include <mbgl/renderer/sources/render_vector_source.hpp> #include <mbgl/renderer/render_tile.hpp> +#include <mbgl/renderer/painter.hpp> #include <mbgl/tile/vector_tile.hpp> #include <mbgl/algorithm/generate_clip_ids.hpp> @@ -59,9 +60,9 @@ void RenderVectorSource::update(Immutable<style::Source::Impl> baseImpl_, }); } -void RenderVectorSource::startRender(algorithm::ClipIDGenerator& generator, const mat4& projMatrix, const mat4& clipMatrix, const TransformState& transform) { - generator.update(tilePyramid.getRenderTiles()); - tilePyramid.startRender(projMatrix, clipMatrix, transform); +void RenderVectorSource::startRender(Painter& painter) { + painter.clipIDGenerator.update(tilePyramid.getRenderTiles()); + tilePyramid.startRender(painter); } void RenderVectorSource::finishRender(Painter& painter) { diff --git a/src/mbgl/renderer/sources/render_vector_source.hpp b/src/mbgl/renderer/sources/render_vector_source.hpp index 1f1acdd551..d5d9598a75 100644 --- a/src/mbgl/renderer/sources/render_vector_source.hpp +++ b/src/mbgl/renderer/sources/render_vector_source.hpp @@ -18,10 +18,7 @@ public: bool needsRelayout, const TileParameters&) final; - void startRender(algorithm::ClipIDGenerator&, - const mat4& projMatrix, - const mat4& clipMatrix, - const TransformState&) final; + void startRender(Painter&) final; void finishRender(Painter&) final; std::map<UnwrappedTileID, RenderTile>& getRenderTiles() final; |