Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [core] Optimize Query Rendered Features API | Mikhail Pozdnyakov | 2019-07-25 | 2 | -7/+9 |
| | | | | | | | | This PR filters out invisible layers before quering features (rather than after, like it happened before). With this change `API_queryRenderedFeaturesAll` performance test passes almost two times faster. | ||||
* | [core] Optimize RenderLineLayer::queryIntersectsFeature | Mikhail Pozdnyakov | 2019-07-24 | 1 | -11/+24 |
| | |||||
* | [core] Force getGeometries() return const ref | Alexander Shalamov | 2019-07-24 | 1 | -1/+1 |
| | |||||
* | [core] Remove unused field from icon buffer | Alexander Shalamov | 2019-07-23 | 1 | -1/+0 |
| | |||||
* | [core] SymbolBacket creates collision buffers optionally | Mikhail Pozdnyakov | 2019-07-22 | 3 | -22/+34 |
| | | | | sizeof(SymbolBucket) : 1024 -> 704 | ||||
* | [core] Symbol bucket uses shared layout | Mikhail Pozdnyakov | 2019-07-22 | 3 | -7/+7 |
| | | | | sizeof(SymbolBucket): 2296 -> 1024 | ||||
* | [core] sizeof(SymbolBucket) 2312 -> 2296 | Mikhail Pozdnyakov | 2019-07-22 | 2 | -15/+22 |
| | |||||
* | [core] Introduce RenderTileSetSource class | Mikhail Pozdnyakov | 2019-07-22 | 8 | -125/+132 |
| | | | | Encapsulates the tiles update logic based on the given tile set. | ||||
* | [core] Avoid unneeded tile sets copying at sources code | Mikhail Pozdnyakov | 2019-07-22 | 3 | -15/+15 |
| | |||||
* | [core] Render sources keep the existing tiles until the new tileset is ready | Mikhail Pozdnyakov | 2019-07-22 | 3 | -12/+24 |
| | | | | | In Continuous map mode, keep the existing tiles if the new tileset is not yet available, thus providing smart style transitions without flickering. | ||||
* | Fix wrong #15065 nit fix | Aleksandar Stojiljkovic | 2019-07-19 | 1 | -2/+4 |
| | | | | | | | Change in https://github.com/mapbox/mapbox-gl-native/pull/15065/commits/3ffc14a3250e5c4eb7dcaf0d1cc0e95c9de3c014 was a typo while addresssing review nit: while it didn't affect render tests it doesn't work properly in all cases. Fixes: #14844, #14779, #15039 | ||||
* | [core] RenderCustomGeometrySource should clear tiles after style update | Mikhail Pozdnyakov | 2019-07-12 | 1 | -1/+4 |
| | | | | Otherwise, the remaining stale tiles cannot be updated. | ||||
* | [core] Synchronize render passes and render tiles | Mikhail Pozdnyakov | 2019-07-11 | 12 | -22/+47 |
| | | | | | | | | | | | | | | | | Before this change render passes were assigned for the whole layer at properties evaluation stage. This caused problems, as layer render data are bound to the tile and these data might differ from tile to tile, depending on which tile has been updated by the tile worker and which has not been yet updated. This change takes into consideration the actual render passes required for each tile and combines them for the layer render passes. Naturally, this change also introduces render pass check for each render layer in `RenderLayer::render()` implementations. | ||||
* | [core] Put gfx backend scope guard to Renderer::reduceMemoryUse() | Mikhail Pozdnyakov | 2019-07-09 | 1 | -0/+1 |
| | |||||
* | Issue #15065 changelogs and nit fix. | Aleksandar Stojiljkovic | 2019-07-09 | 1 | -5/+6 |
| | |||||
* | Fix layers rendering after fill-extrusion | Aleksandar Stojiljkovic | 2019-07-09 | 10 | -15/+31 |
| | | | | | | | | | | | | | | | | | | | | | This fixes following issues: * Fix some false passing combinations/fill-extrusion-translucent--XXXX tests * Fix and enable other, failing but ignored, combinations/fill-extrusion-translucent--XXXX tests * Fix rendering of layers that are on top of fill-extrusion layers state.getProjMatrix(nearClippedProjMatrix, 100) caused that tests with size 64x64 were not rendering fill extrusions: far plane calculated as 96.9 and near plane set to 100 was the cause. near plane is changed from hardcoded 100 to depend on state.getCameraToCenterDistance() - producing similar value but one that follows max zoom. This caused that e.g. combinations/fill-extrusion-translucent--fill-opaque was falsely passing as only fill-opaque layer got rendered. combinations/fill-extrusion-translucent--XXXX tests expose regression https://github.com/mapbox/mapbox-gl-native/issues/14844#issuecomment-503600034 in #14844, #14779. Fix (opaquePassCutoff, is3D) is ported from https://github.com/mapbox/mapbox-gl-js/pull/7821 Fixes: #14844, #14779, #15039 | ||||
* | [core] Share render tiles lists between layers | Mikhail Pozdnyakov | 2019-07-09 | 15 | -58/+87 |
| | | | | This helps to avoid unneeded allocations. | ||||
* | [core] Reserve size for filtered render layers | Alexander Shalamov | 2019-07-09 | 2 | -2/+17 |
| | |||||
* | [core] Improve performance for query rendered features | Alexander Shalamov | 2019-07-09 | 13 | -28/+40 |
| | | | | | - query rendered symbols only from layers that support it - remove unnecessary iterations over vectors | ||||
* | Revert "[core] Change severity of too many data-driven properties to "Info"" | Thiago Marcos P. Santos | 2019-07-08 | 1 | -13/+13 |
| | | | | This reverts commit 2125080dc34381e7458695ed584ea94398d0e9b2. | ||||
* | [core] RenderSource creates render items | Mikhail Pozdnyakov | 2019-07-04 | 13 | -106/+140 |
| | |||||
* | [core] Remove down-casting of render sources | Mikhail Pozdnyakov | 2019-07-04 | 9 | -49/+10 |
| | |||||
* | [core] Introduce ImageSourceRenderData and RenderSource::getImageRenderData() | Mikhail Pozdnyakov | 2019-07-04 | 5 | -36/+45 |
| | | | | | Image source render data is owned by render source, which is simpler than the previous approach and aligned with the render tiles ownership model. | ||||
* | [core] ImageManager is not used at tile upload stage | Mikhail Pozdnyakov | 2019-07-04 | 5 | -21/+40 |
| | |||||
* | [core] Introduce ImageManager::getSharedImage | Mikhail Pozdnyakov | 2019-07-04 | 2 | -1/+9 |
| | |||||
* | [core] Introduce TileRenderData | Mikhail Pozdnyakov | 2019-07-04 | 5 | -15/+127 |
| | | | | Remove rendering functionality from Tile implementations. | ||||
* | [core] Remove orchestration methods from RenderTile | Mikhail Pozdnyakov | 2019-07-04 | 11 | -32/+39 |
| | |||||
* | [core] Remove unused PaintPropertyBinders::constants() | Mikhail Pozdnyakov | 2019-07-02 | 1 | -12/+0 |
| | |||||
* | [core] RenderSource does re-layout if layer's data-driven properties change. | Mikhail Pozdnyakov | 2019-07-02 | 1 | -1/+6 |
| | |||||
* | [core] Geometry tile updates layer render data if its constants mask remains | Mikhail Pozdnyakov | 2019-07-02 | 1 | -6/+1 |
| | | | | | | Thus, we do not have to wait for tile update completion in case the updated properties have the same constants mask, i.e. fit the existing bucket. | ||||
* | [core] Introduce RenderOrchestrator | Mikhail Pozdnyakov | 2019-06-25 | 5 | -705/+781 |
| | |||||
* | [core] Introduce RenderTree | Mikhail Pozdnyakov | 2019-06-25 | 5 | -93/+242 |
| | | | | Split orchestration from rendering in the `Renderer::Impl` implementation. | ||||
* | [core] PaintParameters do not need UpdateParameters | Mikhail Pozdnyakov | 2019-06-25 | 3 | -10/+17 |
| | |||||
* | [core] Remove RenderPass::Upload | Mikhail Pozdnyakov | 2019-06-25 | 5 | -8/+4 |
| | |||||
* | [core] Simplify RenderLayer::upload() | Mikhail Pozdnyakov | 2019-06-25 | 6 | -34/+25 |
| | | | | | | Now `RenderLayer::upload()` accepts only `uploadPass`, similar to other uploadable objects. Few simplifications were made in the `LineLayer` prepare stage. | ||||
* | [core] Change severity of too many data-driven properties to "Info" | Thiago Marcos P. Santos | 2019-06-15 | 1 | -13/+13 |
| | | | | So it can be filtered by the SDKs using a Log::Observer. | ||||
* | [core] don't call glFlush on every frame | Konstantin Käfer | 2019-06-12 | 1 | -1/+1 |
| | |||||
* | [core] TilePyramind uses TransformState::getScale() | Mikhail Pozdnyakov | 2019-06-10 | 2 | -1/+2 |
| | |||||
* | [core] TilePyramid::getRenderTiles -> getRenderedTiles | Mikhail Pozdnyakov | 2019-06-10 | 9 | -10/+10 |
| | |||||
* | [core] Refactor tile pyramid | Mikhail Pozdnyakov | 2019-06-10 | 9 | -83/+59 |
| | | | | | | | Tile pyramid is no longer operating with `RenderTiles` and does not perform rendering operations (upload, finish render). Render tiles belong to rendering, and tile pyramid belongs to orchestration. | ||||
* | [core] Use unique ID in hillshade and hillshade_prepare draw. | Aleksandar Stojiljkovic | 2019-06-06 | 1 | -2/+2 |
| | |||||
* | [core] Fix symbol rendering under opaque fill layers | Juha Alanen | 2019-06-04 | 2 | -15/+4 |
| | |||||
* | [core] Update comments for pattern atlas | Mikhail Pozdnyakov | 2019-06-04 | 2 | -5/+5 |
| | |||||
* | [core] Introduce PatternAtlas | Mikhail Pozdnyakov | 2019-06-04 | 10 | -164/+215 |
| | |||||
* | [core] Remove ImageManager from upload parameters | Mikhail Pozdnyakov | 2019-06-04 | 7 | -21/+16 |
| | |||||
* | [core] fix warnings with Xcode 11's updated Clang version | Konstantin Käfer | 2019-06-04 | 1 | -1/+1 |
| | |||||
* | [core] Use fresh transform state for bucket vertices update in placement | Mikhail Pozdnyakov | 2019-06-03 | 4 | -6/+7 |
| | | | | The transform state cached in placement might get stale and cannot be used for bucket vertices updates. | ||||
* | [core] Avoid unneeded update of symbol dynamic vertex buffer | Mikhail Pozdnyakov | 2019-06-03 | 1 | -3/+6 |
| | |||||
* | [core] Fix: fill-extrusion-vertical-gradient was ignored. #14784 | Aleksandar Stojiljkovic | 2019-05-31 | 1 | -2/+4 |
| | | | | | | fill-extrusion-vertical-gradient "property-type": "data-constant" and it shouldn't be computed through property binders. Fixes: #14784 | ||||
* | [core] Introduce RenderTileSource | Mikhail Pozdnyakov | 2019-05-29 | 12 | -358/+148 |
| | | | | | | | RenderTileSource is a base class for the render sources that provide render tiles. * Removes repeated code * Simplifies render source code refactoring and improves readability |