summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
Commit message (Collapse)AuthorAgeFilesLines
* [core] Fix image requests for already obtained imagesMikhail Pozdnyakov2019-10-172-5/+7
| | | | | Before this change, repeated request for an already obtained image was erroneously treated as pending.
* [core] Introduce Scheduler::bindOnce() and use it in ImageManagerMikhail Pozdnyakov2019-10-101-5/+3
|
* [core] Disallow coalesced requests for patternsMikhail Pozdnyakov2019-10-101-6/+14
| | | | | | | Unlike icons, pattern changes are not caught with style-diff meaning that the existing request could be from the previous style and we cannot coalesce requests for them.
* [core] Coalesce requests for the same missing imageMikhail Pozdnyakov2019-10-102-29/+43
| | | | | | | This commit coalesces the repeated `onStyleImageMissing` calls for the same image. It also simplifies the image manager code.
* [core] Orchestration performance for styles with multiple sourcesMikhail Pozdnyakov2019-10-042-26/+39
| | | | | | | | | | | | RenderOrchestrator holds a vector of ordered rendered layers, in order to minimize calling of `getRenderLayer()`, which could be quite expensive as it calculates hash of the layer Id. This change improves orchestration performance in particular for the styles that have multiple sources. The `API_renderStill_multiple_sources` benchmark runs approximately 70% faster with the changes applied.
* [core] fix opacity interpolation for composition expressions (#15738)Ansis Brammanis2019-10-021-5/+4
| | | | port https://github.com/mapbox/mapbox-gl-js/pull/8818
* [core] Suppress network requests for invisible tilesMikhail Pozdnyakov2019-10-021-0/+4
| | | | If the render source does not need rendering, we set necessity for its tiles to `optional`, and thus suppress network requests on tiles expiration.
* [core] Fix performance-move-const-argThiago Marcos P. Santos2019-09-257-32/+16
|
* [core] Clang format fixandroid-v8.3.2Mikhail Pozdnyakov2019-09-194-22/+29
|
* [core] Immutable/Mutable pattern for PlacementMikhail Pozdnyakov2019-09-192-16/+16
|
* [core] Update buckets in RendererMikhail Pozdnyakov2019-09-194-13/+30
|
* [core] Fix Placement constnessMikhail Pozdnyakov2019-09-193-7/+9
| | | | Update buckets methods do not mutate placement, placement methods do not mutate buckets.
* [build] Fix clang format and tidy checksJuha Alanen2019-09-1834-283/+183
|
* [core] Add removeFeatureState APIJuha Alanen2019-09-188-0/+91
|
* [core] Feature state support to RenderLayer classesJuha Alanen2019-09-1811-19/+30
|
* [core] Add feature state support to queryRenderedFeatures APIJuha Alanen2019-09-183-4/+7
|
* [core] Add support for set/getFeatureState APIsJuha Alanen2019-09-186-0/+73
|
* [core] Add SourceFeatureState class to handle feature statesJuha Alanen2019-09-182-0/+95
|
* [core] Add setFeatureState API to Tile classesJuha Alanen2019-09-182-0/+7
|
* [core] Add feature state support to bucket classesJuha Alanen2019-09-1812-38/+199
|
* [core] Add feature state support to expressionJuha Alanen2019-09-181-0/+10
|
* [core] Coalesce buckets updates from several tilesMikhail Pozdnyakov2019-09-131-1/+5
|
* [core] Initiate new placement only when a new bucket appearesMikhail Pozdnyakov2019-09-131-3/+6
|
* [core] Bitmask operations for enumsMikhail Pozdnyakov2019-09-132-15/+2
|
* [core] Fix placement for updated bucketsMikhail Pozdnyakov2019-09-131-10/+8
| | | | | Buckets update initiates new placement, so that newly added symbols are placed and shown immediately.
* [core] Set fading tiles flag at TilePyramid::updateFadingTiles()Mikhail Pozdnyakov2019-09-121-3/+3
|
* [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 collisionBox alignment when Icon/text translation is enabled (#15467)zmiao2019-08-303-92/+130
| | | | | | | | | | | | | | | | | | * add initial fix * fix bug for collision circle * refind code structure * fix indentation * update test * refind code structure * Add changelog * Add comment for boolean
* [core] Remove programCacheDir parameter from ProgramParametersAnder Conselvan de Oliveira2019-08-275-12/+6
| | | | | | Binary shader support has been removed in commit c2f974f2a573 ([core] Remove binary shader support). This left-over parameter is not used anywhere anymore.
* [core] fix mixed sdf + non-sdf icon rendering in one layer (#15456)zmiao2019-08-264-37/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [core] fix icon symbol rendring when sdf and non-sdf icon in the same symbol layer * fix build error * fix typo * revert renderableSegment change * simplify codes * fix build error * refine sdf icon flag * [core] fix mixed sdf + non-sdf icon rendering in one layer * remove iconstatus getter in stymbol bucket * fix review findings * provide bitwise operator for SymbolContent enum * use MBGL_MBGL_CONSTEXPR * add one missing update for sdfIcon * make renderer symbol type as enum
* [core] Export symbol placement update status from MapObserverMikhail Pozdnyakov2019-08-233-6/+8
|
* [core] Fix GeoJSON tiles updateMikhail Pozdnyakov2019-08-221-1/+1
| | | | | | | | | | | | | Before this change, GeoJSON tiles data were updated before the corresponding layers were applied, therefore `GeometryTileWorker` parsed new data with the outdated layers. It caused the following render test failure: `mbgl-render-test text-max-width/unlimited regressions/mapbox-gl-native#9976 --recycle-map` Now a GeoJSON tile, which needs relayout, is not parsed until the valid layers are set.
* [core] make symbols fade out faster while zooming outAnsis Brammanis2019-08-201-2/+2
| | | | | | | | | | | Zooming outcan make symbols overlap quickly. The area previously covered by the viewport is covered by a lot of colliding labels while the surrounding area has no labels. This difference produces an unwanted effect. This reduces that effect by: - reducing the fade duration while zooming out - doing placement more frequently while zooming out
* [core] Fix combination of icon-text-fit with text-variable-anchors and ↵Alexander Shalamov2019-08-203-5/+13
| | | | text-writing-mode
* [core] also remove version info in ImageManager when removing an image (#15397)Konstantin Käfer2019-08-191-0/+1
|
* [core] Fix layer impl cast in render layer implementationsMikhail Pozdnyakov2019-08-1610-0/+46
| | | | | | 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] Implement support for "text-writing-mode" layout propertyAlexander Shalamov2019-08-132-4/+15
|
* [core] Enable opaque pass for background layer. fix heatmap+background test.Aleksandar Stojiljkovic2019-08-052-12/+21
| | | | | | Follow the approach from mapbox-gl-js for enabling opaque pass for background layer (same as for fill layer). Fix combinations/heatmap-translucent--background-opaque render test.
* [core] Remove ProjectedCollisionBox from CollisionBoxMikhail Pozdnyakov2019-08-052-6/+6
| | | | | - Minus 20 bytes from CollisionBox size. - Fix constness at Placement::placeBucket
* [core] Increase round join approximation precisionAlexander Shalamov2019-08-051-1/+1
|
* [core] A more accurate algorithm for approximating round line joinsAlexander Shalamov2019-08-051-17/+25
| | | | Port for https://github.com/mapbox/mapbox-gl-js/pull/8275
* [core] Fix render tile set source updateMikhail Pozdnyakov2019-08-011-1/+1
| | | | | | Before this change, the `RenderTileSetSource` implementation ignored update calls for the sources whose description was not yet loaded and it lead to missing of relayout requests.
* [core] Shrink RenderOrchestrator::filteredLayersForSource in reduceMemoryUse()Mikhail Pozdnyakov2019-07-291-3/+1
| | | | | Before this change, `RenderOrchestrator::filteredLayersForSource` shrank inside `createRenderTree()`, which potentially might have affected rendering performance.
* [core] Fix assertion at RenderRasterLayer::prepare()Mikhail Pozdnyakov2019-07-262-2/+5
| | | | | It shall consider that image data might not be available until the source loads it.
* [core] Optimize Query Rendered Features APIMikhail Pozdnyakov2019-07-252-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::queryIntersectsFeatureMikhail Pozdnyakov2019-07-241-11/+24
|
* [core] Force getGeometries() return const refAlexander Shalamov2019-07-241-1/+1
|
* [core] Remove unused field from icon bufferAlexander Shalamov2019-07-231-1/+0
|
* [core] SymbolBacket creates collision buffers optionallyMikhail Pozdnyakov2019-07-223-22/+34
| | | | sizeof(SymbolBucket) : 1024 -> 704
* [core] Symbol bucket uses shared layoutMikhail Pozdnyakov2019-07-223-7/+7
| | | | sizeof(SymbolBucket): 2296 -> 1024