summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_hillshade_layer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [core] Store SegmentVectors in ephemeral render objectsKonstantin Käfer2020-02-141-39/+41
| | | | | | | We used some shared SegmentVectors, e.g. for drawing raster or background tiles. In longer running maps, this lead to resource accumulation. By storing the SegmentVectors and the contained gfx::DrawScope objects, we ensure that resources get released when the associated render objects vanish.
* [core] DEMData: do decode on GPU (port mapbox/mapbox-gl-js#8694)Aleksandar Stojiljkovic2019-08-301-0/+1
| | | | | | | | | | | 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
* [core] Fix layer impl cast in render layer implementationsMikhail Pozdnyakov2019-08-161-0/+5
| | | | | | This PR puts `impl()` functions definitions into a nameless namespace to provide internal linkage and to make sure that appropriate cast function is invoked.
* [core] Synchronize render passes and render tilesMikhail Pozdnyakov2019-07-111-2/+2
| | | | | | | | | | | | | | | | 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] Share render tiles lists between layersMikhail Pozdnyakov2019-07-091-1/+2
| | | | This helps to avoid unneeded allocations.
* [core] Remove down-casting of render sourcesMikhail Pozdnyakov2019-07-041-3/+1
|
* [core] Use unique ID in hillshade and hillshade_prepare draw.Aleksandar Stojiljkovic2019-06-061-2/+2
|
* [core] RenderTile does not expose TileMikhail Pozdnyakov2019-05-281-2/+2
| | | | | | 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] RenderLayer::render(PaintParameters, RenderSource*) -> ↵Mikhail Pozdnyakov2019-05-221-6/+9
| | | | render(PaintParameters)
* [core] add gfx::UploadPass, split startRender into prepare and uploadKonstantin Käfer2019-05-151-4/+4
|
* [core] Use `style::LayerProperties` in render layers, buckets and layouts.Mikhail Pozdnyakov2019-04-171-10/+18
|
* [core] clang-tidy fixesKonstantin Käfer2019-04-051-1/+1
|
* [core] introduce gfx::RenderPassKonstantin Käfer2019-04-051-2/+6
|
* [core] add gfx::Renderable and gfx::OffscreenTextureKonstantin Käfer2019-04-051-4/+5
|
* [core] add getResource template to gfx::*Resource classesKonstantin Käfer2019-04-051-3/+3
|
* [core] remove a_/u_ prefix from attribute/uniform typesKonstantin Käfer2019-03-201-13/+13
|
* [core] remove gl/context.hpp from more files, cast where necessaryKonstantin Käfer2019-03-201-1/+0
|
* Merge pull request #14126 from mapbox/gfx-refactor-4Konstantin Käfer2019-03-151-2/+4
| | | Graphics refactor #4
* [core] add texture bindings to draw call instead of Context member fnKonstantin Käfer2019-03-121-10/+16
|
* [core] add texture bindings to draw call invocationsKonstantin Käfer2019-03-121-0/+2
|
* [core] move Texture related enums to gfx namespaceKonstantin Käfer2019-03-121-2/+2
|
* update shadersMolly Lloyd2019-03-051-1/+2
|
* remove unused dem memoryMolly Lloyd2019-03-051-3/+3
|
* [core] Transform{State}: s/angle/bearing/Bruno de Oliveira Abinader2019-03-041-1/+1
|
* [core] move CullFaceMode to gfx namespaceKonstantin Käfer2019-03-011-2/+2
|
* [core] move StencilMode to gfx namespaceKonstantin Käfer2019-03-011-2/+2
|
* [core] move DepthMode to gfx namespaceKonstantin Käfer2019-03-011-2/+2
|
* [core] move draw mode and primitives to gfx namespaceKonstantin Käfer2019-03-011-2/+2
|
* [core] extract attribute structs and gl::Vertex to separate namespaceKonstantin Käfer2019-03-011-2/+2
|
* [core] Layer manager is responsible for buckets and layouts creationMikhail Pozdnyakov2019-02-251-5/+0
| | | | This is a step to stop using of render layers in tile worker thread.
* [core] Split layer type specific code in mbgl::ProgramsMikhail Pozdnyakov2019-01-111-2/+2
| | | | | | | | | | | Progams code for a certain layer type is encapsulted within a dedicated `<layer type>Programs` class, inherited from the generic base `LayerTypePrograms` class. `mbgl::Programs::get<layer type>Programs()` lazily initializes the layer type-specific programs code using pointer to the base class, which allows LTO to remove this code from binaries (if the corresponding `get<layer type>Programs()` method can never be invoked).
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-271-1/+1
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [core] Add face culling mode parameter to Program::drawBruno de Oliveira Abinader2018-09-131-0/+2
| | | | | | Add a parameter to Program::draw to control whether face culling should be enabled. This will be used in a follow up commit to enable face culling for fill extrusion layers.
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-311-12/+16
| | | | expressions in `*-pattern` properties
* [core] Replace remaining dynamic_cast with static_castBruno de Oliveira Abinader2018-08-081-2/+2
|
* [core] Use hand-rolled RTTIJohn Firebaugh2018-07-241-1/+1
|
* [core] Check all bucket dynamic_castsJohn Firebaugh2018-07-241-2/+6
| | | | A mismatch can occur when a layer changes from one type to another.
* [core] Don't crash when attribute count is exceededKonstantin Käfer2018-05-031-18/+47
|
* [core] add maxzoom uniform for raster-dem tilesets (#11134)Molly Lloyd2018-02-141-1/+7
| | | | | | | | | | * add maxzoom uniform to support external tilesets * update git sha for gl-js * try and fix android crash * name default maxzoom constant
* [core] align raster-dem tiles to pixel grid (#11119)Molly Lloyd2018-02-061-2/+2
| | | | | | * align raster-dem tiles to pixel grid * revert ignored hillshade tests
* [core] add raster-dem source type and hillshade layer type (#10642)Molly Lloyd2018-01-231-0/+158