Mikhail Pozdnyakov
2f973e9646
[core] Introduce Scheduler::bindOnce() and use it in ImageManager
2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
71047ab853
[core] Disallow coalesced requests for patterns
...
Unlike icons, pattern changes are not caught with
style-diff meaning that the existing request could
be from the previous style and we cannot coalesce
requests for them.
2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
76bbc42fa6
[core] Coalesce requests for the same missing image
...
This commit coalesces the repeated `onStyleImageMissing` calls
for the same image.
It also simplifies the image manager code.
2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
f62e5b00c9
[core] Introduce Scheduler::makeWeakPtr()
2019-10-09 23:46:11 +03:00
Mikhail Pozdnyakov
23cebe20fe
[core] Introduce SequencedScheduler and ParallelScheduler
...
This commit refactors `utils::ThreadPool` into a template
`ThreadedScheduler` class and provides aux type aliases.
So that it is possible to obtain a sequenced schedule,where
all the scheduled tasks are guarantied to be executed
consequently.
The sequenced lightweight scheduler is required by both the
orchestration thread and the refactored `FileSource` implementation.
2019-10-07 16:42:40 +03:00
Mikhail Pozdnyakov
bef635765a
[core] Decouple Scheduler interface from actor model
...
So that it is possible to schedule normal `std::function` and use `mapbox::base::WeakPtr`.
2019-10-04 17:42:21 +03:00
Mikhail Pozdnyakov
064c60cdca
[core] Orchestration performance for styles with multiple sources
...
RenderOrchestrator holds a vector of ordered rendered layers,
in order to minimize calling of `getRenderLayer()`, which
could be quite expensive as it calculates hash of the layer Id.
This change improves orchestration performance in particular
for the styles that have multiple sources.
The `API_renderStill_multiple_sources` benchmark runs
approximately 70% faster with the changes applied.
2019-10-04 13:16:54 +03:00
Ansis Brammanis
dfca8fb214
[core] fix opacity interpolation for composition expressions ( #15738 )
...
port https://github.com/mapbox/mapbox-gl-js/pull/8818
2019-10-02 13:49:33 -04:00
Mikhail Pozdnyakov
ff6a3ee5b7
[core] Suppress network requests for invisible tiles
...
If the render source does not need rendering, we set necessity for its tiles to `optional`, and thus suppress network requests on tiles expiration.
2019-10-02 20:45:46 +03:00
Mikhail Pozdnyakov
d90b2bb6dc
[core] Introduce Light::getProperty()
2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
5304bbc438
[core] Layer::getProperty supports layout properties
2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
f3146e43cd
[core] ValueFactory for expression::formatted, other improvements
2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
34ab7be225
[core] Layer::getPaintProperty() -> Layer::getProperty()
2019-09-26 15:54:03 +03:00
Mikhail Pozdnyakov
1733e29f0a
[core] Separate header for StyleProperty
2019-09-26 15:54:03 +03:00
Mikhail Pozdnyakov
e78c31c4b5
[core] LayerProperty -> StyleProperty
2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
1d6660b552
[core] Fix clang format errors
2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
c2dc873cf9
[core] Introduce Layer::getPaintProperty() generic getter
2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
2b834001cc
[core] type aliases and conversion traits for mapbox::base::Value
2019-09-26 11:57:39 +03:00
Alexander Shalamov
e5cdc4ecf3
[core][android][darwin] Move number format to i18n
2019-09-26 10:55:47 +03:00
Alexander Shalamov
9c8295c6a6
[core][android][darwin] Move platform specific Collator impls from expression
...
Platform specific Collator implementations should not be part of an expression APIs.
2019-09-26 10:55:47 +03:00
Thiago Marcos P. Santos
c7bbd5bbef
[core] Fix performance-move-const-arg
2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
3c23f6f9f7
[core] Fix bugprone-use-after-move
...
Luckily this is an enum and was being copied.
2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
cf95bc2bb2
[build] Disable clang-format on generated code
...
Nice to have, but would make maintain the templates a lot harder.
2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
3888af2460
[build] Move compression to platform
...
It depends on platform specific compression library.
2019-09-20 15:27:52 +03:00
Mikhail Pozdnyakov
097cf5fc39
[core] Clang format fix
2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
f04efb69c0
[core] Immutable/Mutable pattern for Placement
2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
870f306f68
[core] Update buckets in Renderer
2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
f997ae00ae
[core] Fix Placement constness
...
Update buckets methods do not mutate placement, placement methods do not mutate buckets.
2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
30e659beed
[core] Fix formatting
2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
e3137d86d2
[core] Use LayerInfo::tileKind in sources
2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
152d4c35fc
[core] Add LayerTypeInfo::TileKind
2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
224d49cc90
[core] Check layer compatibility with source
2019-09-18 16:21:59 +03:00
Juha Alanen
6b13c42314
[build] Fix clang format and tidy checks
2019-09-18 14:29:15 +03:00
Juha Alanen
48f462bc7b
[core] Add removeFeatureState API
2019-09-18 14:29:15 +03:00
Juha Alanen
7ce9b0d47d
[core] Feature state support to RenderLayer classes
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
8e19be9d9c
[core] Add support for set/getFeatureState APIs
2019-09-18 14:29:15 +03:00
Juha Alanen
46eab5f148
[core] Add SourceFeatureState class to handle feature states
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
Juha Alanen
91171bc1a9
[core] Add feature-state compound expression
2019-09-18 14:29:15 +03:00
Juha Alanen
9e262ee55f
[core] Add feature state support to isFeatureConstant expression
2019-09-18 14:29:15 +03:00
Juha Alanen
75d18e32fc
[core] Add feature state support to expression
2019-09-18 14:29:15 +03:00
zmiao
0a219d182c
[Core] Fix wrong maxzoom setting of tileSet when using URL source ( #15581 )
...
* [core] Take max/min zoom option from style if they are set
* [core] std::move input value
* [Core] Add changelogs
* [Core] Fix clang-format reported error
* [Core] fix clang-tidy reported error
2019-09-17 18:00:37 +03:00
Thiago Marcos P. Santos
d424850257
[build] Make the default styles part of GL Native
...
The reason is applications using it, like GLFW, don't need
to depend on code inside platform/default.
2019-09-17 12:28:55 +03:00
Alexander Shalamov
e3421e042f
[core] Fix for FormatSectionOverrides::hasOverride
2019-09-17 11:16:42 +03:00
Mikhail Pozdnyakov
0d9e4afd20
[core] Coalesce buckets updates from several tiles
2019-09-13 13:45:48 +03:00
Mikhail Pozdnyakov
fc741cdd21
[core] Initiate new placement only when a new bucket appeares
2019-09-13 13:45:48 +03:00
Mikhail Pozdnyakov
796cc3a4d6
[core] Bitmask operations for enums
2019-09-13 13:45:48 +03:00
Mikhail Pozdnyakov
f9c15f708e
[core] Fix placement for updated buckets
...
Buckets update initiates new placement, so that
newly added symbols are placed and shown immediately.
2019-09-13 13:45:48 +03:00