Commit Graph

15443 Commits

Author SHA1 Message Date
Mikhail Pozdnyakov
a2edfc79f0 Add CrossTileSymbolLayerIndex.offscreenSymbols test 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
a9d04d7b1a [core] Do not index and place the off-screen symbols for overscaled tiles
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.
2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
4dac2f61c2 [core] Simplify Placement::addLayer() 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
e6ddcf9beb [core] Simplify CrossTileSymbolIndex::addLayer() 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
5a4568b2ac [core] Avoid repeated calculations in symbol placement 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
f70cadf2e0 [core] Cache showCollisionBoxes in Placement 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
769a822fec [core] Pass UpdateParameters to Placement constructor 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
d24c1d625a [core] Pass std::shared_ptr<UpdateParameters> to the render orchestrator
So that it can retain ownership of the given parameters.
2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
5af128f205 [core] Pass placement commit parameters in constructor 2020-01-22 14:30:26 +02:00
Mikhail Pozdnyakov
4735845a6e [core] Consider symbol bucket leader id in cross-tile symbol indexing
Only buckets with the same leader id participate in `TileLayerIndex::findMatches()`
in order to improve its performace.

`TileLayerIndex` constness is fixed.
2020-01-22 14:30:26 +02:00
zmiao
93f19b8daa avoid restore sanity ccache since it will cause unarchive error for new added macos job (#16135) 2020-01-22 14:10:09 +02:00
Jordan Kiley
942d9566d3 [ios, macos] Include SKU token for offline requests (#16130) 2020-01-21 13:35:57 -08:00
zmiao
1ade6c7784 [test-runner] Enable IOS RenderTestRunner and run it on Firebase (#16111)
* [test-runner] Setup iOS RenderTestRunner

* [test-runner] Make app runnable on firebase

* Add iOS platform dependent expectation and ignores; Run prepare script via cmake

* Make RenderTestRunner report test status
2020-01-21 23:23:35 +02:00
Alexander Shalamov
6dc435f664 [ios][macos] Disable document generation for obsolete targets 2020-01-21 17:52:17 +03:00
Alexander Shalamov
9bb1f89803 [core] Update changelog 2020-01-15 15:02:11 +02:00
Alexander Shalamov
96f953c5b2 [test-runner] Add stretchable icons resources to cache 2020-01-15 15:02:11 +02:00
Alexander Shalamov
adda95c510 [metrics] Baselines for stretchable icons feature 2020-01-15 15:02:11 +02:00
Konstantin Käfer
5a1e4c6b81 [core] implement stretchable icons for icon-text-fit 2020-01-15 15:02:11 +02:00
Konstantin Käfer
027e803b72 [core] move icon rotation from shaping to quad generation to mirror JS 2020-01-15 15:02:11 +02:00
Konstantin Käfer
1342cb44b3 [core] Remove unused WritingMode from getIconQuads 2020-01-15 15:02:11 +02:00
Konstantin Käfer
7d8d13ce04 [core] Change ImagePosition from storing non-padded rect to padded rect to mirror the JS implementation 2020-01-15 15:02:11 +02:00
Konstantin Käfer
c80baa35b3 [core] add stretches + content to ImagePosition 2020-01-15 15:02:11 +02:00
Konstantin Käfer
47dc5727ab [core] parse stretchX, stretchX, and content from sprite JSON files 2020-01-15 15:02:11 +02:00
Konstantin Käfer
62b0f4cde2 [core] Add stretches and content to style::Image 2020-01-15 15:02:11 +02:00
Konstantin Käfer
4b171cccf1 [core] getGlyphQuad -> getGlyphQuads 2020-01-15 15:02:11 +02:00
Konstantin Käfer
d8d336160c [core] add pixelOffset and minFontScale to SymbolQuads 2020-01-15 15:02:11 +02:00
Konstantin Käfer
f82d4e6857 [core] Upgrade shaders and add new vertices to SymbolLayout 2020-01-15 15:02:11 +02:00
Mikhail Pozdnyakov
0652118d08 Add change log entry for PR #16106 2020-01-13 17:33:33 +02:00
Alexander Shalamov
6ddff19cee [android] Use new FileSourceManager interface
Use new interface for android jni adaptation classes.
2020-01-13 10:57:23 +02:00
Alexander Shalamov
1e6ad76516 [qt] Use new FileSourceManager interface 2020-01-13 10:57:23 +02:00
Alexander Shalamov
77c86bc6b9 [darwin] Use new FileSourceManager interface 2020-01-13 10:57:23 +02:00
Alexander Shalamov
c8024cf00d [node] Use new FileSourceManager interface 2020-01-13 10:57:23 +02:00
Alexander Shalamov
879c44f661 [core] Modularize FileSource codebase (#15768)
* [core] Introduce FileSourceManager and use it for default platform impl

  - Add `FileSourceManager` interface that provides access to `FileSource`
    instances and means of registering / unregistering `FileSource` factories
  - Split `DefaultFileSource` into smaller parts
  - Add `DatabaseFileSource` interface and it's default implementation
  - Remove inter-dependencies between concrete `FileSource` classes

* [build] Add files to next build system

* [core] Add generic property setters / getters

* [core] Remove setOnlineStatus from OnlineFileSource interface

* [core] Hide threading implementation details from DatabaseFileSource interface

* [core] Make DB file source methods virtual

* [core] Add documentation for DatabaseFileSource and rename one method

* [core] Use simple callback instead of ActorRef

* [core] Remove ActorRef from OnlineFileSource public header

* [core] Add callback to FileSource::forward async API

* [core] Pass OfflineRegionDefinition by value

* [core] Update tests to use modular file sources

* [core] Update unit tests

* [core] Update unit tests after rebase

* [core] Backport low prio fix for cached requests

* [core] Backport pack database

* [core] Return removed factory from unRegisterFileSourceFactory

* [core] Rename shadowed args in onlinefilesource

* [core] Remove simple std::function callback aliases

* [core] Expose online file source property keys in public header file

* [test-runner] Add proxy file source test runner

* [cache] Update mbgl-cache utility to use new file source

* [metrics] Rebaseline binary size metrics

* [offline] Update offline utility

* [core] Update changelog
2020-01-13 10:57:23 +02:00
Juha Alanen
86a3605349 [build][android] Fix CI bot that validates downstream API breakage 2020-01-10 17:19:30 +02:00
Juha Alanen
94df7ffc2d [build] Run Android unit test on Firebase 2020-01-10 17:19:30 +02:00
Juha Alanen
c7c441167d [test] Increase the threshold for Map.Offline test on Android 2020-01-10 17:19:30 +02:00
Juha Alanen
d3b5f06c8e [test] Skip number-format expression tests on Android 2020-01-10 17:19:30 +02:00
Juha Alanen
f4385a11d2 [android] Use stub HTTP file source for test runners 2020-01-10 17:19:30 +02:00
Juha Alanen
0b3942572e [test] Run unit tests as NativeActivity application on Android 2020-01-10 17:19:30 +02:00
Juha Alanen
f24e4ca068 [android] Fix a RunLoop bug where tasks are run only once
Do not remove tasks from the RunLoop in processRunnables(). Otherwise
the task is run only once.
2020-01-10 17:19:30 +02:00
Jordan Kiley
60a4b3eda3 [ios] Add native_apple_interface to ios.cmake (#16103)
* [ios] Add native_apple_interface to ios.cmake

* [ios] Use Xcode for next-macos-xcode11-release
2020-01-09 12:41:14 -08:00
tobrun
52edd9b43b [android] add CI bot that validates downstream API breakage 2020-01-09 16:09:51 +01:00
Mikhail Pozdnyakov
3ea459233a [core] Fix GeoJSONVTData ownership and life cycle
Before this change, the `GeoJSONVTData` instance was retained at the scheduled
lambda, which run on the worker thread represented by the `GeoJSONVTData::scheduler`
class member:

```
        std::weak_ptr<GeoJSONVTData> weak = shared_from_this();
        scheduler->scheduleAndReplyValue(
            [id, weak, this]() -> TileFeatures {
                if (auto self = weak.lock()) {
                    return impl.getTile(id.z, id.x, id.y).features;
                }
                return {};
            },
            fn);
```

It caused program termination in case `self` turned to be the last reference to `this`,
as the `std::thread` destructor was called from the thread it represented.

Now, only the `GeoJSONVTData::impl` class member is retained.
2020-01-09 16:52:13 +02:00
Peng Liu
236afc0395 [android][core] Add Map::latLngBoundsForCameraUnwrapped and jni binding for getVisibleCoordinateBounds. (#16069)
* [android] Add getVisibleCoordinateBounds method.
* Fix Map::latLngBoundsForCamera, add Android binding for getVisibleRegionBounds.
* Add unit tests for CameraToLatLngBoundsWithRotation and CameraToLatLngBoundsCrossDateLine.
* Move API breaking changes to a new method name latLngBoundsForCameraUnwrapped.
2020-01-09 15:53:23 +02:00
Thiago Marcos P. Santos
d3a5ed968c [build] Remove uneeded submodules
Not needed after the render tests are using the offline cache.
2020-01-08 16:48:44 +02:00
Thiago Marcos P. Santos
d148908cf1 [render-test] Make the manifest mandatory
At the moment we have an invalid path as default.
2020-01-08 14:58:05 +02:00
Thiago Marcos P. Santos
5a0f43037f [render-test] Remove positional argument
Not in use, for running a single test, use -f instead.
2020-01-08 14:58:05 +02:00
Thiago Marcos P. Santos
87013ad6e1 [metrics] Add new baselines
More accurate now since everything goes through the FileSource.
2020-01-08 13:07:12 +02:00
Thiago Marcos P. Santos
d08bb49c34 [core] Make it possible to reopen the database read-only for testing
Needed for Android, because the database is in readonly filesystem
and also because it is annoying to see files modified every time we
run the tests.
2020-01-08 13:07:12 +02:00
Thiago Marcos P. Santos
f306957a6d [metrics] Add 2 tests to the ignore list
Need further investigation on why these tests are failing
after we started to use the cache database.
2020-01-08 13:07:12 +02:00