summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/renderer_impl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Fix performance-unnecessary-value-param errorsThiago Marcos P. Santos2020-03-231-9/+5
| | | | As reported by clang-tidy-8.
* [core] Remove programCacheDir parameter from ProgramParametersAnder Conselvan de Oliveira2019-08-271-4/+2
| | | | | | Binary shader support has been removed in commit c2f974f2a573 ([core] Remove binary shader support). This left-over parameter is not used anywhere anymore.
* [core] Export symbol placement update status from MapObserverMikhail Pozdnyakov2019-08-231-1/+2
|
* Fix layers rendering after fill-extrusionAleksandar Stojiljkovic2019-07-091-0/+1
| | | | | | | | | | | | | | | | | | | | | 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] Introduce RenderOrchestratorMikhail Pozdnyakov2019-06-251-601/+12
|
* [core] Introduce RenderTreeMikhail Pozdnyakov2019-06-251-90/+156
| | | | Split orchestration from rendering in the `Renderer::Impl` implementation.
* [core] PaintParameters do not need UpdateParametersMikhail Pozdnyakov2019-06-251-1/+3
|
* [core] Remove RenderPass::UploadMikhail Pozdnyakov2019-06-251-4/+1
|
* [core] Simplify RenderLayer::upload()Mikhail Pozdnyakov2019-06-251-7/+2
| | | | | | Now `RenderLayer::upload()` accepts only `uploadPass`, similar to other uploadable objects. Few simplifications were made in the `LineLayer` prepare stage.
* [core] don't call glFlush on every frameKonstantin Käfer2019-06-121-1/+1
|
* [core] Introduce PatternAtlasMikhail Pozdnyakov2019-06-041-4/+10
|
* [core] Remove ImageManager from upload parametersMikhail Pozdnyakov2019-06-041-5/+1
|
* [core] Use fresh transform state for bucket vertices update in placementMikhail Pozdnyakov2019-06-031-1/+1
| | | | The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
* [core] end the RenderPass/CommandEncoder before sending eventsKonstantin Käfer2019-05-281-6/+11
|
* [core] RenderTile does not expose TileMikhail Pozdnyakov2019-05-281-17/+8
| | | | | | RenderTile and Tile will be split when ochestration movces to a separate thread. This PR improves encapsulation of Tiles management: now performed within TilePyramid.
* [core] SymbolBucket updates complete at placement stageMikhail Pozdnyakov2019-05-241-5/+2
| | | | | | | | `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 Pozdnyakov2019-05-221-3/+3
| | | | render(PaintParameters)
* [core] RenderLayer::setRenderTiles(RenderTiles) -> ↵Mikhail Pozdnyakov2019-05-221-2/+1
| | | | | | | 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 initializedMikhail Pozdnyakov2019-05-221-15/+11
|
* [core] Forward ImageManagerObserver::onRemoveUnusedStyleImages to ↵Alexander Shalamov2019-05-211-0/+4
| | | | MapObserver interface
* [core] Add onRemoveUnusedStyleImages observer APIAlexander Shalamov2019-05-211-4/+7
|
* [core] Remove RenderLayerSymbolInterfaceMikhail Pozdnyakov2019-05-191-11/+10
|
* [core] Placement accepts RenderLayer instancesMikhail Pozdnyakov2019-05-191-2/+2
|
* [core] Avoid unneeded proj matrix calculations in rendererMikhail Pozdnyakov2019-05-191-3/+2
|
* [core] RenderLayerSymbolInterface is not used in CrossTileSymbolIndexMikhail Pozdnyakov2019-05-191-11/+10
|
* [core] add gfx::UploadPass, split startRender into prepare and uploadKonstantin Käfer2019-05-151-7/+40
|
* [core] add gfx::CommandEncoder::present()Konstantin Käfer2019-05-151-0/+4
|
* [core] Create glyph manager at renderer construction timeMikhail Pozdnyakov2019-05-141-5/+2
| | | | Avoid unnecessary glyph manager presence check in `Renderer::Impl::()`.
* [core] Make the BackgroundScheduler a singletonThiago Marcos P. Santos2019-05-101-3/+0
| | | | | | | | | | - Do not carry it over everywhere as parameter, it is a shared instance anyway and the lifecycle is pretty much the app lifecycle from the moment we instantiate a map. - Rename to BackgroundScheduler because it is a Scheduler that will do tasks in the background, we don't make assumptions if it is a thread pool or a single thread. - Most importantly, remove the dependency from `core` on `platform`.
* [core] Less strict rules for adding render layers to sourcesMikhail Pozdnyakov2019-04-291-5/+9
|
* [core] change approach to stencil clipping to (almost) match JSKonstantin Käfer2019-04-291-57/+5
|
* [core] RendererImpl::dumDebugLogs() -> dumpDebugLogs()Mikhail Pozdnyakov2019-04-251-1/+1
|
* [core] Create ImageManager at renderer constructionMikhail Pozdnyakov2019-04-251-17/+12
|
* [core] Track missing style images that were provided by clientAlexander Shalamov2019-04-251-0/+3
| | | | | | - Track images provided by client thruough onStyleImageMissing API - Handle reduceMemoryUsage in ImageManager, via Renderer API - Release client provided images when no tiles are using them
* [core] Simplify RenderLayer interface.Mikhail Pozdnyakov2019-04-171-8/+4
|
* [core] Introduce `LayerRenderData`. Source::update() accepts layer properties.Mikhail Pozdnyakov2019-04-171-2/+2
|
* Use emplace_hint for inserting render itemsMikhail Pozdnyakov2019-04-121-3/+3
|
* [core] Order render items properly across several sourcesMikhail Pozdnyakov2019-04-121-21/+30
|
* [core] Pass only visible render layers to source in rendererMikhail Pozdnyakov2019-04-091-5/+3
| | | | | | | This simplifies the code and make it slightly more performant. Also, this change enables initialization the `RenderTile.used` field from inside the source (currently done in render layers).
* [core] clang-tidy fixesKonstantin Käfer2019-04-051-1/+1
|
* [core] introduce gfx::RenderPassKonstantin Käfer2019-04-051-19/+15
|
* [core] move depth/stencil buffer debug viz to gfx::ContextKonstantin Käfer2019-04-051-47/+4
|
* [core] remove Renderer::flushKonstantin Käfer2019-04-051-7/+0
|
* [core] move GLContextMode to RendererBackendKonstantin Käfer2019-04-051-8/+4
|
* [core] move RenderParameters creation to a later stageKonstantin Käfer2019-04-051-24/+30
|
* [core] refactor RendererBackendKonstantin Käfer2019-04-051-8/+8
|
* [core] move BackendScope to gfx namespaceKonstantin Käfer2019-04-051-6/+6
|
* [core] move debug groups to gfx::CommandEncoderKonstantin Käfer2019-04-051-12/+9
|
* [core] introduce CommandEncoder objectKonstantin Käfer2019-04-051-9/+10
|
* [core] prefer static_cast for casts to derived classesKonstantin Käfer2019-04-051-1/+1
|