* [core] add sources to source collection before triggering load
* [test] add testcase for #15514
* [core] also call onSourceLoaded observers when no network request was necessary
This is first part of work on porting mapbox/mapbox-gl-js#8694 - in follow up patch(es) it is required to remove CPU side copy using 2d canvas support on all supported platforms, similar to approach taken in gl.js https://github.com/mapbox/mapbox-gl-js/pull/8694/files#diff-34dbe5f7de34dc4b9a8745dcde9bdc37R48
Decoding on CPU removed.
Padding is still done in DEMData() but, instead od doing it wwhile decoding, it is using memcpy to pad original values.
Rebase to latest mapbox-gl-js master and re-generate shaders.
Partly fixes: #15503
- Decrease pixelmatch tolerance for local glyph rasterizer
- Add Korean symbols to test fixture
- Fix ifdefs, as the QT and Apple related blocks were using same results
- Add NotoSansCJK test for QT / Linux platform
Binary shader support has been removed in commit c2f974f2a5 ([core]
Remove binary shader support). This left-over parameter is not used
anywhere anymore.
* [core] fix icon symbol rendring when sdf and non-sdf icon in the same symbol layer
* fix build error
* fix typo
* revert renderableSegment change
* simplify codes
* fix build error
* refine sdf icon flag
* [core] fix mixed sdf + non-sdf icon rendering in one layer
* remove iconstatus getter in stymbol bucket
* fix review findings
* provide bitwise operator for SymbolContent enum
* use MBGL_MBGL_CONSTEXPR
* add one missing update for sdfIcon
* make renderer symbol type as enum
Remove unecessary tile coordinate unproject -> project step.
Unproject+project isn't always a noop and this was the issue leading to wrong cover calculation in high pitch values.
Fixes: https://github.com/mapbox/mapbox-gl-native/issues/15442
Before this change, the `RenderTileSetSource` implementation
ignored update calls for the sources whose description was not yet
loaded and it lead to missing of relayout requests.
Patch partly fixes#15163 in a way that it doesn't allow loading tens of thousands of tiles and attempt to show area above horizon:
Limit pitch based on edge insets. It is not too bad - current limit of 60 degrees stays active until center of perspective is moved towards the bottom, to 84% of screen height. The plan is to split removal of 60 degrees limit to follow up patch.
Fix max Z calculation in getProjMatrix. TransformState::getProjMatrix calculation of farZ was complex with possibility to lead to negative z values. Replacing it with simpler, precise calculation:
furthestDistance = cameraToCenterDistance / (1 - tanFovAboveCenter * std::tan(getPitch()));
TransformState::getProjMatrix calculation of farZ was an aproximation. Replacing it with simpler, but precise calculation.
Related to: #15163
- Removed this parameter from the constructor, now that we
have a method to set it.
- Add the method and enforce the limits if the ambient cache exceeds the
size.