summaryrefslogtreecommitdiff
path: root/src/mbgl/tile
Commit message (Collapse)AuthorAgeFilesLines
* [core] Fix GeoJSON tiles updateMikhail Pozdnyakov2019-08-226-8/+9
| | | | | | | | | | | | | Before this change, GeoJSON tiles data were updated before the corresponding layers were applied, therefore `GeometryTileWorker` parsed new data with the outdated layers. It caused the following render test failure: `mbgl-render-test text-max-width/unlimited regressions/mapbox-gl-native#9976 --recycle-map` Now a GeoJSON tile, which needs relayout, is not parsed until the valid layers are set.
* [core] Fix use after std::move detected by clang-tidyThiago Marcos P. Santos2019-08-191-0/+1
| | | | | Detected by the bot being setup at https://github.com/mapbox/mapbox-gl-native/pull/15385.
* [core] Avoid copying feature propertiesMikhail Pozdnyakov2019-07-255-5/+14
|
* [core] Simplfy ToGeometryCollectionMikhail Pozdnyakov2019-07-251-32/+7
|
* [core] GeometryCollection must not be implicitly copiedMikhail Pozdnyakov2019-07-243-13/+19
|
* [core] Default GeometryTileFeature::getGeometries() implementationMikhail Pozdnyakov2019-07-242-1/+6
|
* [core] Force getGeometries() return const refAlexander Shalamov2019-07-246-18/+24
|
* [core] Improve performance for query rendered featuresAlexander Shalamov2019-07-094-11/+11
| | | | | - query rendered symbols only from layers that support it - remove unnecessary iterations over vectors
* [core] ImageManager is not used at tile upload stageMikhail Pozdnyakov2019-07-041-8/+18
|
* [core] Introduce TileRenderDataMikhail Pozdnyakov2019-07-047-108/+131
| | | | Remove rendering functionality from Tile implementations.
* [core] Geometry tile keeps layout result as a shared pointerMikhail Pozdnyakov2019-07-043-41/+42
|
* [core] Geometry tile updates layer render data if its constants mask remainsMikhail Pozdnyakov2019-07-023-5/+12
| | | | | | Thus, we do not have to wait for tile update completion in case the updated properties have the same constants mask, i.e. fit the existing bucket.
* [core] Refactor tile pyramidMikhail Pozdnyakov2019-06-101-0/+4
| | | | | | | 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.
* [core] Introduce PatternAtlasMikhail Pozdnyakov2019-06-041-4/+6
|
* [core] Remove priority from the constructorThiago Marcos P. Santos2019-05-281-1/+0
| | | | Make the constructor less verbose and set good defaults.
* [core] RenderTile does not expose TileMikhail Pozdnyakov2019-05-283-9/+3
| | | | | | RenderTile and Tile will be split when ochestration movces to a separate thread. This PR improves encapsulation of Tiles management: now performed within TilePyramid.
* [core] add gfx::UploadPass, split startRender into prepare and uploadKonstantin Käfer2019-05-158-23/+16
|
* [core] GeometryTile and TileLoader keep strong reference to FileSourceMikhail Pozdnyakov2019-05-144-8/+9
| | | | Thus we fix a potential bug: if `Renderer` outlives the `Map` it will hold a stale reference to the `FileSource` instance.
* [core] Create glyph manager at renderer construction timeMikhail Pozdnyakov2019-05-142-1/+3
| | | | Avoid unnecessary glyph manager presence check in `Renderer::Impl::()`.
* [core] Make the BackgroundScheduler a singletonThiago Marcos P. Santos2019-05-103-3/+6
| | | | | | | | | | - Do not carry it over everywhere as parameter, it is a shared instance anyway and the lifecycle is pretty much the app lifecycle from the moment we instantiate a map. - Rename to BackgroundScheduler because it is a Scheduler that will do tasks in the background, we don't make assumptions if it is a thread pool or a single thread. - Most importantly, remove the dependency from `core` on `platform`.
* [core] Pass ImageManager to ImageRequestor's constructorAlexander Shalamov2019-04-252-2/+2
| | | | | This makes ImageRequestor API explicitly dependant on ImageManager, so that ImageRequestor can unregister itself from ImageManager on destruction.
* [core] Render layers use synchronized buckets and paint propertiesMikhail Pozdnyakov2019-04-171-0/+1
| | | | Actual for layers rendering the geometry tile data: line, fill, fill-extrusion, heatmap, circle, symbol (was updated in previous commits).
* [core] Update `style::LayerProperties` instances in tilesMikhail Pozdnyakov2019-04-173-3/+28
|
* [core] Introduce `LayerRenderData`. Source::update() accepts layer properties.Mikhail Pozdnyakov2019-04-175-55/+53
|
* [core] Use `style::LayerProperties` in render layers, buckets and layouts.Mikhail Pozdnyakov2019-04-172-25/+27
|
* [core] Pass only visible render layers to source in rendererMikhail Pozdnyakov2019-04-091-2/+2
| | | | | | | This simplifies the code and make it slightly more performant. Also, this change enables initialization the `RenderTile.used` field from inside the source (currently done in render layers).
* [core] clang-tidy fixesKonstantin Käfer2019-04-053-4/+6
|
* [core] Minor performance tweaks in renderer implMikhail Pozdnyakov2019-04-041-3/+4
|
* add onStyleImageMissing to allow dynamically loaded or generated images (#14253)Ansis Brammanis2019-04-024-6/+12
| | | Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images.
* [core] Remove file source from public Map ctorBruno de Oliveira Abinader2019-03-203-3/+0
|
* [core] add texture bindings to draw call instead of Context member fnKonstantin Käfer2019-03-121-2/+2
|
* [core] use abstract Context interface where possibleKonstantin Käfer2019-03-127-10/+7
|
* [core] move Texture to the gfx namespaceKonstantin Käfer2019-03-121-2/+2
|
* [core] include what you useKonstantin Käfer2019-03-013-7/+2
|
* [core] Layer manager is responsible for buckets and layouts creationMikhail Pozdnyakov2019-02-251-3/+4
| | | | This is a step to stop using of render layers in tile worker thread.
* [core] Drop LayerTypeMikhail Pozdnyakov2019-01-042-5/+5
| | | | | Drop LayerType and its remaining usages. The generic code should be layer type agnostic.
* [core] layermanager folderMikhail Pozdnyakov2018-11-301-0/+1
| | | | Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-272-3/+2
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [core] Fix VectorTileFeature::getValue() semantics after geometry@v1.0.0Bruno de Oliveira Abinader2018-11-261-1/+2
|
* [core] Add use LayerTypeInfo::Layout for the layers that require LayoutAlexander Shalamov2018-11-191-1/+1
|
* [build] Update to geometry v1.0.0Bruno de Oliveira Abinader2018-11-137-21/+24
|
* [core] add priorities to resourcesHuyen Chau Nguyen2018-10-231-0/+1
| | | | | - priorities can be low or regular - offline downloads should have low priority to not throttle "regular requests"
* [core] remove some uses of <iostream> and <sstream>Konstantin Käfer2018-10-231-2/+0
|
* [core] don't use <boost/functional/hash.hpp> to avoid <locale> includeKonstantin Käfer2018-10-231-9/+8
|
* [core] Initial implementation of 'format' expressionChris Loer2018-10-151-10/+16
|
* [core] Port "collision group" plumbing to gl-native.Chris Loer2018-09-121-2/+2
| | | | | [node] Hook up map-wide "crossSourceCollisions" option, defaulting to true. [test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
* [core] simplify dependency layout process and refactor data structuresMolly Lloyd2018-08-312-105/+39
|
* [core] Simplify GeometryTileWorkerJohn Firebaugh2018-08-312-58/+25
| | | | | | | * The worker no longer needs to maintain symbol layer order. * No need for separate symbolLayoutsNeedPreparation state. That dates back to when we had "two phase" symbol layout. Now we can just check symbolLayouts.empty(). (Similarly for pattern layouts.) * No need to loop over symbol layouts twice in performSymbolLayout. Same reason as above. * Simplify iconAtlas initialization. It initialized via every possible branch, so just do it up front.
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-314-27/+129
| | | | expressions in `*-pattern` properties
* [core] Replace remaining dynamic_cast with static_castBruno de Oliveira Abinader2018-08-085-5/+20
|