| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
|
| |
|
|
|
|
|
|
| |
fill-extrusion-vertical-gradient "property-type": "data-constant" and it shouldn't be computed through property binders.
Fixes: #14784
|
|
|
|
|
|
|
| |
RenderTileSource is a base class for the render sources that provide render tiles.
* Removes repeated code
* Simplifies render source code refactoring and improves readability
|
| |
|
| |
|
| |
|
|
|
|
| |
Make the constructor less verbose and set good defaults.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
RenderTile and Tile will be split when ochestration movces to a separate thread.
This PR improves encapsulation of Tiles management: now performed within TilePyramid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change is implemented in TransformState::getProjMatrix, the rest of the code is making sure that existing API contracts stay and there are tests verifyingrendering and render query processing only items within screen and given tolerance around screen edges.
MapView: don't bake edge insets into relalculated camera center. Keep edge insets as property of camera in TransformState (similar to pitch, zoom, bearing) independent from specified camera center. Interpolate edge insets in animation.
iOS Demo app: "Turn On/Off Content Insets" pitch the camera and navigate to convenient location in Denver, where streets are parallel to cardinal directions, to illustrate viewport center offset when edge insets are set.
Tests:
ViewFrustumCulling: although Annotations are deprecated, queryRenderedFeatures related tests in Annotations would need to get ported and decided to add the edge insets related query tests next to them. Verify frustum culling (render+queryRenderedFeatures) With different camera and edge insets setups. TODO: port Annotations tests.
Transform.Padding: Verify that coordinates take proper place on screen after applying edge insets.
LocalGlyphRasterizer: verify text rendering when applying padding.
Related to #11882: both use projection matrix elements [8] and [9].
Alternative approach to this was to increase and offset map origin so that the screen would be a sub-rectangle in larger map viewport. This approach has a drawback of unecessary processing the items that are outside screen area.
Fixes #12107, #12728, navigation-sdks/issues/120
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
`RenderSymbolLayer` does not have to update dynamic vertices of its buckets, this logic is moved to placement (which is already updates opacity vertices).
* fixes clustering of labels when text variable placement enabled - as assignes `usesVariablePlacement` per bucket
* simplifies the code in `RenderSymbolLayer` (the `RenderSymbolLayer::upload()` is now omitted).
* symbol buckets are not modified after orchestration finishes
|
| |
|
|
|
|
| |
creating/destroying core threads
|
|
|
|
| |
render(PaintParameters)
|
|
|
|
|
|
|
| |
prepare(LayerPrepareParameters)
RenderLayer::prepare() is responsible for the complete initialization of a render
layer, so that it can render.
|
| |
|
|
|
|
| |
MapObserver interface
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation is buggy and not worth maintaining anymore
because performance benefits are not substantial or sometimes
worse. Also, removing it saves about 150 ~ 180 KB in binary size.
Below timings are averages of minimum 5 runs.
```
Device Init launch Average relaunch
s10 1129.8 ms 700 ms
s10 - binary 1346.75 ms 694 ms
Pixel 1692 ms 723 ms
Pixel - binary 1883 ms 1039 ms
Kazam 17948 ms 1339 ms
Kazam - binary 19157 ms 1564 ms
Wiko 2060 ms 1278 ms
Wiko - binary 3876 ms 1136 ms
```
Fixes #14294
|
|
|
|
|
| |
Since unique_ptr is already nullable there is no need to wrap it in an
optional<>.
|
| |
|
|
|
|
|
| |
Handle categorical function default value properly in conversion to
expreexpression so related tests pass.
|
|
|
|
|
| |
Consider the function default value in interval and exponential
functions conversion.
|
|
|
|
|
| |
This will be used in a follow up patch by the function to expression
conversion code.
|
|
|
|
|
| |
The tests for conversion of legacy interval functions to expressions
expects that the first stop in the "step" expression be omitted.
|
|
|
|
|
| |
Add handling of default value to the conversion of legacy identity
functions. The color and enum tests still don't pass though.
|
|
|
|
| |
One line in that file was indented with tabs instead of spaces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove re-linking programs as redundant.
It costs (cheaper to link once than twice) and (subjective) is not that common GL API
usage pattern, although perfectly legal and permitted.
Initial idea, behind the removed code, was to enable work on optimization
that would reduce number of attrib setup calls in case when VAO is not
available (as described in #9433).
As such optimization is not implemented, and it is arguable if it makes sense
to do it now, we can remove re-linking.
Related to closed PRs #9433 and PR #11583.
I have [measured the time spent just on relinking](https://gist.github.com/astojilj/29bd5a5c5dc0b2d9f29ecb660da07fbf) using release build on iPhone SE (A9, same as iPhone 6S):
- 1st run after reboot or installation
Total 37.14ms, average per program:1.86ms
- reopening
Total: 2.47ms, average per program: 0.12ms
This time we save using the patch here.
|
|
|
|
| |
intermadiate containers
|
|
|
|
|
| |
Add check for optional pattern dependencies and don't bind empty vertex
buffers if pattern positions are missing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|