summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] Fix iterators in addRegularDash()Mikhail Pozdnyakov2020-03-021-10/+14
| | | | Fix using of invalid iterators.
* [build] Make csscolorparser and parsedate vendorsThiago Marcos P. Santos2020-02-274-1064/+0
| | | | | | They have a different license from the rest of the code and this will make it explicit. Also the script for generating the license will dectect them correctly.
* [core] FileSourceManager::getFileSource() returns PassRefPtrMikhail Pozdnyakov2020-02-262-3/+4
|
* [core] Fix Color serializationAlexander Shalamov2020-02-262-10/+12
|
* [core] Generate layer codeAlexander Shalamov2020-02-269-461/+650
|
* [core] Add layer serialization methodAlexander Shalamov2020-02-262-22/+95
|
* Backport https://github.com/mapbox/mapbox-gl-js/pull/9333zmiao2020-02-266-449/+427
|
* [core] Return pitch bounds in degreesJuha Alanen2020-02-261-2/+2
|
* [core] Add min and max pitch optionsJuha Alanen2020-02-255-5/+79
|
* [core] Dismiss actors from sprite loaderMikhail Pozdnyakov2020-02-244-87/+40
| | | | and get rid of `SpriteLoaderWorker`, use `scheduleAndReplyValue()` API instead.
* [core] Add bounding box overlapping check before line within polygon testzmiao2020-02-213-40/+141
|
* [test-runner] Add new metricszmiao2020-02-211-1/+1
|
* [core] Remove unnecessary includes, fix commentszmiao2020-02-212-3/+1
| | | | This reverts commit b5c386ad7708ca9fe14f219b0ffc94cf6ce8fc88.
* [core] Update unti tests. Remove unnecessary debugging codezmiao2020-02-213-170/+104
|
* [core] Move geometry within algorithm to utilzmiao2020-02-213-147/+168
|
* [core] Add support for "line within polygon"zmiao2020-02-211-4/+197
|
* [core] Fix sprite sheet merging in Style::Impl::onSpriteLoadedAlexander Shalamov2020-02-173-7/+30
| | | | | | If we get a new sprite sheet from the server, we need to merge current sprite sheet with a new one, while overwiting duplicates and keeping old unique images in a style.
* [core] Implement 'in' expression. (#16162)Kevin Li2020-02-152-0/+132
| | | | | | | | | | | | | | | | | | * Implement in.cpp * Fix review comments. * Add expression_equality test for 'in' * Fix review comments. * [core] Update changelog. * [core] Update mapbox-gl-js * [core] Ignore render-tests/debug/padding * [core] Update baseline.
* [core] Store SegmentVectors in ephemeral render objectsKonstantin Käfer2020-02-1422-287/+250
| | | | | | | We used some shared SegmentVectors, e.g. for drawing raster or background tiles. In longer running maps, this lead to resource accumulation. By storing the SegmentVectors and the contained gfx::DrawScope objects, we ensure that resources get released when the associated render objects vanish.
* Port line-dasharray fix from gl-jsKarim Naaji2020-02-142-59/+126
| | | | | | | | | | | | | | | | * Fix artifact for zero-lenghted dash array Fixes issue https://github.com/mapbox/mapbox-gl-js/issues/9213 and add render test for coverage around 0-length dash arrays Update distance field generation for regular dashes as follows: 1. Compute the dash array ranges and stretch location along the distance field 2. Collapse any 0-length distance field range 3. Collapse neighbouring same-type parts into single part * combine consecutive dashes and parts https://github.com/mapbox/mapbox-gl-js/pull/9246 https://github.com/mapbox/mapbox-gl-native/issues/16181
* [core] Set priorData from cache only if resource is useableAlexander Shalamov2020-02-141-2/+4
| | | | | | In cases when cached resource is useable, yet don't have an expiration timestamp, we provided data to the requester from the cache and the same data was returned once 304 response was received from the network.
* Revert "[core] Fix excessive onSpriteLoaded() notifications"Alexander Shalamov2020-02-141-4/+4
| | | | This reverts commit 80cb05420a86ed53815cae7fb2cb3fddf07dd1d1.
* [core] Fix excessive onSpriteLoaded() notificationsMikhail Pozdnyakov2020-02-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | What happened: The excessive `onSpriteLoaded()` notifications were caused by the trick inside `OnlineFileRequest::completed()` implemenation, which causes receving of two file source updates pointing to the *same* data in case the network response is `notModified` and the local storage has the sprite sheet already stored inside. In the SpriteLoader` implementation, it resulted in 2 extra `parseSprite()` calls and 2 extra `onSpriteLoaded()` notifications. Then, the excessive `onSpriteLoaded()` notifications affected style images and all the unnecessarily added image dupes (btw, the amount of these dupes `= 2 * number of style images`) were treated by the `RenderOrchestrator` as *updated* images. Further, `RenderOrchestrator` called `ImageManager::updateImage()` for the updated images and the `ImageManager` populated the `updatedImageVersions` map. Finally, at every frame all the geometry tiles iterated through the `updatedImageVersions` to check whether their uploaded textures needed patching. All the mentioned above had a negative performance impact. The fix: Now, `SpriteLoader` sends `onSpriteLoaded()` notifications only if the data in the file source response is different comparing to the existing one.
* [core] Support [within expression] with layout propertyzmiao2020-02-128-43/+108
|
* reserve vecotr capacity, fix for points within polygonzmiao2020-02-122-43/+38
| | | | Address review findings/nit
* Add support for expression testzmiao2020-02-125-849/+202
| | | | | | | Fix polygon within algorithm Add Unit tests Fix incorrect metrics folder for ios-render-test-runner job
* Enable within expression with Filterzmiao2020-02-126-34/+47
| | | | | | add canonical as pointer fix review findings
* Enable parse within expressionzmiao2020-02-1225-80/+1184
| | | | Add geometry type checker
* [core] sort symbols using symbol-sort-key before placement (#16023)Ansis Brammanis2020-02-119-26/+105
| | | | fix #15964 partially port mapbox/mapbox-gl-js#9054
* style::Style::getImage() returns optional<style::Image>Mikhail Pozdnyakov2020-02-114-12/+9
|
* [core] Loading images to style optimizationMikhail Pozdnyakov2020-02-119-64/+94
| | | | | | This change enables attaching images to the style with batches and avoids massive re-allocations. Thus, it improves UI performance especially at start-up time.
* Bump GL-JSzmiao2020-02-116-428/+450
| | | | Backport GL-JS fix 'Hide glyphs behind the camera'(https://github.com/mapbox/mapbox-gl-js/pull/9229)
* [core] Clear tile pyramid for custom source only if there is a significant ↵Alexander Shalamov2020-02-114-5/+16
| | | | | | | change Clear tile pyramid only if updated source has different tile options, zoom range or initialization state for a custom tile loader.
* [core] Make CustomGeometrySource::TileOptions immutableAlexander Shalamov2020-02-114-35/+28
|
* [core] Override default prefetch delta if source has it's own settingAlexander Shalamov2020-02-118-72/+83
|
* [core] Add runtime API for setting tile prefetch delta for SourceAlexander Shalamov2020-02-1110-2/+55
| | | | | | | New setPrefetchZoomDelta(optional<uint8_t> delta) method allow overriding default tile prefetch setting that is defined by the Map instance. The method can be moved to generic style specification if found to be useful for gl-js engine.
* [build] Remove unused filesThiago Marcos P. Santos2020-02-071-815/+0
| | | | | Buck build is no longer needed, neither is the previous CMake buildsystem.
* [core] Add hooks for setting experimental thread priorities for mbgl threadsAlexander Shalamov2020-02-063-2/+31
|
* [core] Add global settings objectAlexander Shalamov2020-02-061-0/+58
|
* [tile mode] Improvements in symbol placement on tile bordersMikhail Pozdnyakov2020-02-033-35/+82
| | | | | | | | | | | | | | | | This change fixes the following problems: 1) Before this change, when multiple symbols were grouped close to the tile borders, different tiles could place different symbols, because each tile arbitrary assigned feature ids, and these ids defined the placement order being applied. This caused artifacts at the tile boundaries. With this change, in tile mode the placement order of two symbols crossing a tile border is defined by their anchor `y` values. It means that the symbols are being placed the same order across all the tiles. 2) Before this change, the engine did not place with priority the symbols crossing the borders between two neighboring tiles. Now it does, and it improves a lot symbol placement stability in the tile map mode.
* [build] Adding a build flag to build without GL if needed (#16120)Thomas Moenicke2020-02-039-43/+41
| | | | | | * [build] Adding a build flag to build without GL if needed * [build] Moving custom layer to mbgl/gl
* [core] Add getSharedExpression to property expressionAlexander Shalamov2020-02-031-0/+4
| | | | | New method can be used for aggregating property expressions from multiple properties(layers) into single match / case expression.
* [core] Use std::list instead of std::map for factory instanceAlexander Shalamov2020-02-031-9/+21
| | | | | Factory 'get' method can be invoked recursively and stable iterators are required to guarantee safety.
* [tile mode] Fix variable symbols placementMikhail Pozdnyakov2020-01-271-9/+4
| | | | | This commit allows the variable symbols to cross the tile border only if their anchor is the first anchor from the `text-variable-anchor` list.
* GeoJSONSource is re-using the existing schedulerMikhail Pozdnyakov2020-01-242-13/+29
| | | | Thus avoiding spawing new threads on `setGeoJSONData()` calls.
* [core] Use weak scheduler inside mailboxAlexander Shalamov2020-01-231-14/+16
| | | | | There is no guarantee that scheduler is alive when message is pushed to the mailbox.
* [core] Move resource loader to dedicated thread with schedulerAlexander Shalamov2020-01-231-1/+0
|
* [core] remove std::vector copy step in SymbolLayout::anchorIsTooClose (#16131)galinelle2020-01-221-1/+1
| | | A const reference is enough here.
* [core] Do not index and place the off-screen symbols for overscaled tilesMikhail Pozdnyakov2020-01-228-19/+58
| | | | | For overscaled tiles the viewport might be showing only a small part of the tile, so we filter out the off-screen symbols to improve the performance.
* [core] Simplify Placement::addLayer()Mikhail Pozdnyakov2020-01-224-9/+10
|