Commit Graph

4035 Commits

Author SHA1 Message Date
Mikhail Pozdnyakov
da3b7749b0 [core] RenderSource creates render items 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
8b78398190 [core] Remove down-casting of render sources 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
1155121530 [core] Introduce ImageSourceRenderData and RenderSource::getImageRenderData()
Image source render data is owned by render source, which is simpler than the
previous approach and aligned with the render tiles ownership model.
2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
e797e31831 [core] ImageManager is not used at tile upload stage 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
d2e867e3e0 [core] Introduce ImageManager::getSharedImage 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
63dd17e2bb [core] Introduce TileRenderData
Remove rendering functionality from Tile implementations.
2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
b1cbc2f245 [core] Geometry tile keeps layout result as a shared pointer 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
d570834975 [core] Remove orchestration methods from RenderTile 2019-07-04 16:56:43 +03:00
Mikhail Pozdnyakov
55da0b0fe7 [core] Remove unused PaintPropertyBinders::constants() 2019-07-02 16:05:09 +03:00
Mikhail Pozdnyakov
0687460033 [core] RenderSource does re-layout if layer's data-driven properties change. 2019-07-02 16:05:09 +03:00
Mikhail Pozdnyakov
affb21a612 [core] Geometry tile updates layer render data if its constants mask remains
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.
2019-07-02 16:05:09 +03:00
Mikhail Pozdnyakov
c144591322 [core] Introduce LayerProperties::constantsMask()
Constants mask for data-driven paint properties is a reliable
criteria of whether the given updated properties can still be used
with the existing bucket (and the gl program instance).
2019-07-02 16:05:09 +03:00
Thiago Marcos P. Santos
848ad0d25e [core] include Hiragana and Katakana glyph ranges to LocalGlyphRasterizer
Fixes #14993
2019-06-28 15:19:58 +03:00
Juha Alanen
0ca8ea6f16 [core] Add number-format expression 2019-06-27 15:51:22 +03:00
Bruno de Oliveira Abinader
78e5a264e0 [core] Fix macOS clang exception error in expression-tests/to-number/2-ary 2019-06-25 20:10:21 +03:00
Bruno de Oliveira Abinader
1a9e07e4ed [core] DefaultFileSource dynamic support for cache-only requests 2019-06-25 20:10:21 +03:00
Mikhail Pozdnyakov
658d68e38c [core] Introduce RenderOrchestrator 2019-06-25 12:53:52 +03:00
Mikhail Pozdnyakov
4283c9bb34 [core] Introduce RenderTree
Split orchestration from rendering in the `Renderer::Impl` implementation.
2019-06-25 12:53:52 +03:00
Mikhail Pozdnyakov
c09cbaf6e0 [core] PaintParameters do not need UpdateParameters 2019-06-25 12:53:52 +03:00
Mikhail Pozdnyakov
cfe11f563d [core] Remove RenderPass::Upload 2019-06-25 12:53:52 +03:00
Mikhail Pozdnyakov
23d8ae5e73 [core] Simplify RenderLayer::upload()
Now `RenderLayer::upload()` accepts only `uploadPass`, similar to other uploadable objects.

Few simplifications were made in the `LineLayer` prepare stage.
2019-06-25 12:53:52 +03:00
Thiago Marcos P. Santos
2125080dc3 [core] Change severity of too many data-driven properties to "Info"
So it can be filtered by the SDKs using a Log::Observer.
2019-06-15 03:39:45 +03:00
Mikhail Pozdnyakov
2acfa8b86f [core] Keep the same sort index for all feature rings 2019-06-12 20:39:03 +03:00
Konstantin Käfer
ce91218b42 [core] don't call glFlush on every frame 2019-06-12 18:08:18 +02:00
Konstantin Käfer
844299f1c3 [build] remove roundtrip through <experimental/optional> when using optional 2019-06-12 12:04:07 +02:00
Aleksandar Stojiljkovic
d7fa18efa6 [core] Remove unused OffscreenTexture variant with depth render target 2019-06-11 11:39:51 +03:00
Vladimir Agafonkin
6262b83cc6 [core] Switch back to a more compact line attributes layout (#14851)
* [core] switch back to a more compact line attributes layout

* update mapbox-gl-js to point to master
2019-06-10 22:26:16 +03:00
Mikhail Pozdnyakov
6583204e69 [core] TilePyramind uses TransformState::getScale() 2019-06-10 19:36:47 +03:00
Mikhail Pozdnyakov
1edebf0035 [core] TilePyramid::getRenderTiles -> getRenderedTiles 2019-06-10 19:36:47 +03:00
Mikhail Pozdnyakov
737665bc07 [core] Refactor tile pyramid
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.
2019-06-10 19:36:47 +03:00
Mikhail Pozdnyakov
ad53132e5d [core] Inherit RenderAnnotationSource from RenderTileSource 2019-06-10 19:36:47 +03:00
Thiago Marcos P. Santos
50e239a937 [core] Renamed to avoid collision with libcurl
Rename curlx_sltosi to mbgl_curlx_sltosi to avoid collision
when liking with libcurl statically.
2019-06-10 15:34:38 +03:00
Aleksandar Stojiljkovic
0bab9127d7 [core] Use unique ID in hillshade and hillshade_prepare draw. 2019-06-06 11:21:37 +03:00
Juha Alanen
f9796d2a28 [core] Fix symbol rendering under opaque fill layers 2019-06-04 16:35:53 +03:00
Mikhail Pozdnyakov
76d8fd0a79 [core] Update comments for pattern atlas 2019-06-04 15:28:00 +03:00
Mikhail Pozdnyakov
a9abc43510 [core] Introduce PatternAtlas 2019-06-04 15:28:00 +03:00
Mikhail Pozdnyakov
c0e5632001 [core] Remove ImageManager from upload parameters 2019-06-04 15:28:00 +03:00
Konstantin Käfer
892699a39a [core] fix warnings with Xcode 11's updated Clang version 2019-06-04 10:07:19 +02:00
Mikhail Pozdnyakov
b242883587 [core] Use fresh transform state for bucket vertices update in placement
The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
2019-06-03 17:03:57 +03:00
Mikhail Pozdnyakov
a44b7f1e5d [core] Avoid unneeded update of symbol dynamic vertex buffer 2019-06-03 17:03:57 +03:00
Aleksandar Stojiljkovic
62f6338d5b [core] Fix: fill-extrusion-vertical-gradient was ignored. #14784
fill-extrusion-vertical-gradient "property-type": "data-constant" and it shouldn't be computed through property binders.

Fixes: #14784
2019-05-31 18:40:27 +03:00
Mikhail Pozdnyakov
b50aa497cc [core] Introduce RenderTileSource
RenderTileSource is a base class for the render sources that provide render tiles.

* Removes repeated code
* Simplifies render source code refactoring and improves readability
2019-05-29 12:04:26 +03:00
Konstantin Käfer
81667ae4e9 [core] end the RenderPass/CommandEncoder before sending events 2019-05-28 16:11:05 +02:00
Konstantin Käfer
12d8948c2a [core] ensure gfx::DrawScopes are unique 2019-05-28 16:11:05 +02:00
Konstantin Käfer
7f9274035b [core] refactor program object creation 2019-05-28 16:11:05 +02:00
Thiago Marcos P. Santos
33ee7e23de [core] Remove priority from the constructor
Make the constructor less verbose and set good defaults.
2019-05-28 16:30:49 +03:00
Mikhail Pozdnyakov
2f97a2660a [core] RenderTile returns textures by const reference 2019-05-28 16:16:42 +03:00
Mikhail Pozdnyakov
43966f1611 [core] Placement::placeLayerBucket() -> placeBucket() 2019-05-28 16:16:42 +03:00
Mikhail Pozdnyakov
054645042a [core] Encapsulate symbol bucket placement code in Placement::placeLayerBucket() 2019-05-28 16:16:42 +03:00
Mikhail Pozdnyakov
a03f7b166b [core] RenderTile does not expose Tile
RenderTile and Tile will be split when ochestration movces to a separate thread.

This PR improves encapsulation of Tiles management: now performed within TilePyramid.
2019-05-28 16:16:42 +03:00