Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | [core] end the RenderPass/CommandEncoder before sending events | Konstantin Käfer | 2019-05-28 | 2 | -7/+12 |
| | |||||
* | [core] ensure gfx::DrawScopes are unique | Konstantin Käfer | 2019-05-28 | 3 | -16/+22 |
| | |||||
* | [core] RenderTile returns textures by const reference | Mikhail Pozdnyakov | 2019-05-28 | 6 | -17/+19 |
| | |||||
* | [core] Placement::placeLayerBucket() -> placeBucket() | Mikhail Pozdnyakov | 2019-05-28 | 1 | -1/+1 |
| | |||||
* | [core] Encapsulate symbol bucket placement code in Placement::placeLayerBucket() | Mikhail Pozdnyakov | 2019-05-28 | 5 | -13/+5 |
| | |||||
* | [core] RenderTile does not expose Tile | Mikhail Pozdnyakov | 2019-05-28 | 27 | -71/+168 |
| | | | | | | RenderTile and Tile will be split when ochestration movces to a separate thread. This PR improves encapsulation of Tiles management: now performed within TilePyramid. | ||||
* | FillBucket::triangles could be empty: skip creating buffer and draw. (#14761) | Aleksandar Stojiljkovic | 2019-05-24 | 2 | -12/+14 |
| | |||||
* | [core] SymbolBucket updates complete at placement stage | Mikhail Pozdnyakov | 2019-05-24 | 7 | -179/+33 |
| | | | | | | | | `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 | ||||
* | [core] RenderLayer::render(PaintParameters, RenderSource*) -> ↵ | Mikhail Pozdnyakov | 2019-05-22 | 25 | -72/+90 |
| | | | | render(PaintParameters) | ||||
* | [core] RenderLayer::setRenderTiles(RenderTiles) -> ↵ | Mikhail Pozdnyakov | 2019-05-22 | 5 | -10/+18 |
| | | | | | | | prepare(LayerPrepareParameters) RenderLayer::prepare() is responsible for the complete initialization of a render layer, so that it can render. | ||||
* | [core] Prepare render sources before render layers are initialized | Mikhail Pozdnyakov | 2019-05-22 | 21 | -56/+82 |
| | |||||
* | [core] Forward ImageManagerObserver::onRemoveUnusedStyleImages to ↵ | Alexander Shalamov | 2019-05-21 | 2 | -0/+5 |
| | | | | MapObserver interface | ||||
* | [core] Add onRemoveUnusedStyleImages observer API | Alexander Shalamov | 2019-05-21 | 4 | -47/+76 |
| | |||||
* | [core] Check if pattern dependencies or pattern positions are missing | Alexander Shalamov | 2019-05-20 | 1 | -8/+18 |
| | | | | | Add check for optional pattern dependencies and don't bind empty vertex buffers if pattern positions are missing. | ||||
* | [core] Avoid bucket downcasting in Placement | Mikhail Pozdnyakov | 2019-05-19 | 3 | -0/+17 |
| |