Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSync changes from mozilla-central gfx/wr #4015
Merged
Conversation
and others
added 4 commits
Jul 15, 2020
This restructures the WR Compositor interface a bit to support compositing earlier in the frame. An invalidate_tile hook is added that gets called first to signal that some picture cache tiles will be modified later in the frame. The renderer then calls add_surface earlier before the picture cache tiles are updated, so that any tiles that aren't invalid can proceed to composite early before that. Finally, bind/unbind get called after so that it can work potentially work in parallel with any tiles that are already compositing early. Differential Revision: https://phabricator.services.mozilla.com/D82473 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/fceb25f6286b91d972b6451599002f8f8846f3bc
…hread. r=jrmuizel This spawns a new SwComposite thread inside SwCompositor. Tile composite jobs are submitted over a channel to the thread, with a condition being signaled after all jobs are processed. The SwCompositor computes a dependency order for the tiles based on whether it overlaps a tile that has been invalidated and needs to be updated during the current frame. As tiles are gradually updated, all tiles that would depend on the update as denoted by the dependency order get submitted so that composition can proceed. Ultimately, this allows tile updates and compositing to work in parallel, pipelining much of the cost of compositing. Differential Revision: https://phabricator.services.mozilla.com/D82474 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/b013dfd51ff69a97c2551648ee642b0f7af764b0
SwCompositor needs to send SWGL textures references safely to the SwComposite thread. However, the SWGL context's texture store may grow and make accessing these tables unsafe. To work around this, this patch adds a LockedResource API that locks down access to these textures ahead of time both to ensure that no table access is necessary and to help detect any unexpected modifications of these textures while they are locked. These LockedResource objects can then be composited safely in another thread without interfering with normal SWGL operation in the original that that isn't simultaneously using these textures. Differential Revision: https://phabricator.services.mozilla.com/D82666 [ghsync] From https://hg.mozilla.org/mozilla-central/rev/97f04a5dac7c6cb9daeb1e1d32f38111bb922891
|
@bors-servo r=auto |
|
|
|
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
moz-gfx commentedJul 15, 2020
No description provided.