This repository has been archived by the owner on Aug 8, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[core] Synchronize render passes and render tiles #15092
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pozdnyakov
force-pushed
the
mikhail_sync_render_passes
branch
from
July 10, 2019 16:06
6a3b4e9
to
796650a
Compare
friedbunny
added
the
needs changelog
Indicates PR needs a changelog entry prior to merging.
label
Jul 10, 2019
chloekraw
added
the
needs backport
Indicates PR needs to be cherrypicked into a previous release branch.
label
Jul 10, 2019
alexshalamov
approved these changes
Jul 11, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to have render test, similar to
https://github.com/mapbox/mapbox-gl-js/blob/master/test/integration/render-tests/runtime-styling/set-style-layer-change-source/style.json
@alexshalamov unfortunately bugs like that cannot be caught with render tests as these tests act in the map still mode. Also, the observed behavior depends a lot on the underlying platform i.e. how fast the tile workers complete their job. |
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.
pozdnyakov
force-pushed
the
mikhail_sync_render_passes
branch
from
July 11, 2019 11:53
796650a
to
1521fb4
Compare
tmpsantos
approved these changes
Jul 11, 2019
I'm still seeing similar issues, see #15085 (comment) |
pozdnyakov
added a commit
that referenced
this pull request
Jul 18, 2019
Backports #15092 to release-oolong.
pozdnyakov
added a commit
that referenced
this pull request
Jul 18, 2019
Backports #15092 to release-nectar.
pozdnyakov
added a commit
that referenced
this pull request
Jul 18, 2019
Backports #15092 to release-mojito.
This was referenced Jul 18, 2019
pozdnyakov
added a commit
that referenced
this pull request
Jul 19, 2019
Backports #15092 to release-oolong.
pozdnyakov
added a commit
that referenced
this pull request
Jul 19, 2019
Backports #15092 to release-mojito.
pozdnyakov
added a commit
that referenced
this pull request
Jul 19, 2019
Backports #15092 to release-nectar.
friedbunny
added a commit
that referenced
this pull request
Jul 19, 2019
This reverts commit 1811f60.
friedbunny
added a commit
that referenced
this pull request
Jul 19, 2019
This reverts commit 0bd3a8a.
friedbunny
added a commit
that referenced
this pull request
Jul 19, 2019
This reverts commit 0bd3a8a.
This was referenced Jul 31, 2019
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
bug
Core
The cross-platform C++ core, aka mbgl
needs backport
Indicates PR needs to be cherrypicked into a previous release branch.
needs changelog
Indicates PR needs a changelog entry prior to merging.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.Fixes #15085