Thiago Marcos P. Santos
c7bbd5bbef
[core] Fix performance-move-const-arg
2019-09-25 18:59:07 +03:00
Juha Alanen
6b13c42314
[build] Fix clang format and tidy checks
2019-09-18 14:29:15 +03:00
Juha Alanen
598df1897d
[core] Add feature state support to queryRenderedFeatures API
2019-09-18 14:29:15 +03:00
Juha Alanen
1ac8e3c161
[core] Add setFeatureState API to Tile classes
2019-09-18 14:29:15 +03:00
Juha Alanen
413278ca20
[core] Add feature state support to bucket classes
2019-09-18 14:29:15 +03:00
zmiao
f53143f1a1
[core] Fix Integer overflow when converting tileCoordinates to LatLon ( #15560 )
...
* [core] fix integer overflow
* [core] Add change log
2019-09-05 11:08:21 +03:00
Mikhail Pozdnyakov
a1da06cb68
[core] Fix GeoJSON tiles update
...
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.
2019-08-22 10:55:56 +03:00
Thiago Marcos P. Santos
6dfe0e60ca
[core] Fix use after std::move detected by clang-tidy
...
Detected by the bot being setup at
https://github.com/mapbox/mapbox-gl-native/pull/15385 .
2019-08-19 13:37:23 +03:00
Mikhail Pozdnyakov
273ad436fb
[core] Avoid copying feature properties
2019-07-25 17:36:35 +03:00
Mikhail Pozdnyakov
e6e1e15f95
[core] Simplfy ToGeometryCollection
2019-07-25 17:36:35 +03:00
Mikhail Pozdnyakov
2c2e8589c3
[core] GeometryCollection must not be implicitly copied
2019-07-24 21:04:56 +03:00
Mikhail Pozdnyakov
ec6650d3c0
[core] Default GeometryTileFeature::getGeometries() implementation
2019-07-24 21:04:56 +03:00
Alexander Shalamov
852fef66ef
[core] Force getGeometries() return const ref
2019-07-24 21:04:56 +03:00
Alexander Shalamov
57402314e1
[core] Improve performance for query rendered features
...
- query rendered symbols only from layers that support it
- remove unnecessary iterations over vectors
2019-07-09 11:43:46 +03:00
Mikhail Pozdnyakov
e797e31831
[core] ImageManager is not used at tile upload stage
2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
63dd17e2bb
[core] Introduce TileRenderData
...
Remove rendering functionality from Tile implementations.
2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
b1cbc2f245
[core] Geometry tile keeps layout result as a shared pointer
2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
affb21a612
[core] Geometry tile updates layer render data if its constants mask remains
...
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.
2019-07-02 16:05:09 +03:00
Mikhail Pozdnyakov
737665bc07
[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.
2019-06-10 19:36:47 +03:00
Mikhail Pozdnyakov
a9abc43510
[core] Introduce PatternAtlas
2019-06-04 15:28:00 +03:00
Thiago Marcos P. Santos
33ee7e23de
[core] Remove priority from the constructor
...
Make the constructor less verbose and set good defaults.
2019-05-28 16:30:49 +03:00
Mikhail Pozdnyakov
a03f7b166b
[core] RenderTile does not expose Tile
...
RenderTile and Tile will be split when ochestration movces to a separate thread.
This PR improves encapsulation of Tiles management: now performed within TilePyramid.
2019-05-28 16:16:42 +03:00
Konstantin Käfer
3a6ff7710f
[core] add gfx::UploadPass, split startRender into prepare and upload
2019-05-15 11:57:43 -07:00
Mikhail Pozdnyakov
5b6a262e15
[core] GeometryTile and TileLoader keep strong reference to FileSource
...
Thus we fix a potential bug: if `Renderer` outlives the `Map` it will hold a stale reference to the `FileSource` instance.
2019-05-14 11:29:24 +03:00
Mikhail Pozdnyakov
953ee5e81b
[core] Create glyph manager at renderer construction time
...
Avoid unnecessary glyph manager presence check in `Renderer::Impl::()`.
2019-05-14 11:29:24 +03:00
Thiago Marcos P. Santos
06f1dc48a2
[core] Make the BackgroundScheduler a singleton
...
- 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`.
2019-05-10 14:20:38 +03:00
Alexander Shalamov
83c33cdeb2
[core] Pass ImageManager to ImageRequestor's constructor
...
This makes ImageRequestor API explicitly dependant on ImageManager, so that
ImageRequestor can unregister itself from ImageManager on destruction.
2019-04-25 10:00:23 +03:00
Mikhail Pozdnyakov
858097102d
[core] Render layers use synchronized buckets and paint properties
...
Actual for layers rendering the geometry tile data: line, fill, fill-extrusion, heatmap, circle, symbol (was updated in previous commits).
2019-04-17 17:21:41 +03:00
Mikhail Pozdnyakov
150b427300
[core] Update style::LayerProperties instances in tiles
2019-04-17 17:21:41 +03:00
Mikhail Pozdnyakov
7a7192516f
[core] Introduce LayerRenderData. Source::update() accepts layer properties.
2019-04-17 17:21:41 +03:00
Mikhail Pozdnyakov
4b21560cf5
[core] Use style::LayerProperties in render layers, buckets and layouts.
2019-04-17 17:21:41 +03:00
Mikhail Pozdnyakov
8faf47ab5e
[core] Pass only visible render layers to source in renderer
...
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).
2019-04-09 13:04:21 +03:00
Konstantin Käfer
3ceabcd3ec
[core] clang-tidy fixes
2019-04-05 11:49:17 +02:00
Mikhail Pozdnyakov
1a5b933983
[core] Minor performance tweaks in renderer impl
2019-04-04 20:28:23 +03:00
Ansis Brammanis
2455275bf4
add onStyleImageMissing to allow dynamically loaded or generated images ( #14253 )
...
Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images.
2019-04-02 12:57:45 -04:00
Bruno de Oliveira Abinader
d5868d3da8
[core] Remove file source from public Map ctor
2019-03-20 21:30:08 +02:00
Konstantin Käfer
e27f330629
[core] add texture bindings to draw call instead of Context member fn
2019-03-12 11:03:54 +01:00
Konstantin Käfer
9b5bbfcbdd
[core] use abstract Context interface where possible
2019-03-12 11:03:54 +01:00
Konstantin Käfer
a7f151ab48
[core] move Texture to the gfx namespace
2019-03-12 11:03:54 +01:00
Konstantin Käfer
c53cbe5246
[core] include what you use
2019-03-01 09:33:37 +01:00
Mikhail Pozdnyakov
e800f37547
[core] Layer manager is responsible for buckets and layouts creation
...
This is a step to stop using of render layers in tile worker thread.
2019-02-25 13:47:56 +02:00
Mikhail Pozdnyakov
c621b8100d
[core] Drop LayerType
...
Drop LayerType and its remaining usages.
The generic code should be layer type agnostic.
2019-01-04 11:51:33 +02:00
Mikhail Pozdnyakov
92352de87d
[core] layermanager folder
...
Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
2018-11-30 19:09:17 +02:00
Mikhail Pozdnyakov
361982fef8
[core][Android][Darwin] LayerManager creates RenderLayer instances
...
`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`.
2018-11-27 18:10:21 +02:00
Bruno de Oliveira Abinader
82be3104cd
[core] Fix VectorTileFeature::getValue() semantics after geometry@v1.0.0
2018-11-26 12:43:13 +02:00
Alexander Shalamov
eb170b250a
[core] Add use LayerTypeInfo::Layout for the layers that require Layout
2018-11-19 14:06:21 +02:00
Bruno de Oliveira Abinader
bf8b24fa8d
[build] Update to geometry v1.0.0
2018-11-13 17:28:26 +02:00
Huyen Chau Nguyen
1e3a744d22
[core] add priorities to resources
...
- priorities can be low or regular
- offline downloads should have low priority to not throttle "regular requests"
2018-10-23 12:47:10 +02:00
Konstantin Käfer
8bf66ef7a7
[core] remove some uses of <iostream> and <sstream>
2018-10-23 12:23:40 +02:00
Konstantin Käfer
70d5972e10
[core] don't use <boost/functional/hash.hpp> to avoid <locale> include
2018-10-23 12:23:40 +02:00