Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync changes from mozilla-central gfx/wr #3910

Merged
merged 2 commits into from Apr 9, 2020
Merged

Conversation

@moz-gfx
Copy link

moz-gfx commented Apr 8, 2020

No description provided.

gw3583 added 2 commits Apr 8, 2020
… node tree changes. r=nical,Bert,kvark

Previously, primitive dependency checking would invalidate a tile if
the spatial node index for a given primitive changed.

However, if a new display list is sent that changes the shape of
the spatial node tree this may cause unnecessary invalidations.

For example, a new display list that inserts a new spatial node at
the start of the tree could result in spatial node indices being
different, even though the values of the transforms was the same.

This patch changes the invalidation logic for spatial nodes to
compare the transforms by value, rather than index, meaning that
invalidations are avoided if the shape of the spatial tree has
changed, but the values are consistent.

Differential Revision: https://phabricator.services.mozilla.com/D69913

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/498d2204d63739057b626da3239d130c412099e0
This fixes a case where the backing surface of a picture cache tile
changes, but was still being considered a no-op frame, which skips
the composite as an optimization if nothing has changed.

In this case, the tile surface changes from a rasterized texture
to a solid color that doesn't require a picture cache texture.

The patch ensures that the composite surface descriptors that are
used to detect no-op frame compositions include the backing
surface for each of the tiles that make up this virtual surface.

Differential Revision: https://phabricator.services.mozilla.com/D70138

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/5b784c47235ccd535d694c1ec2caf5b341570ff1
@moz-gfx
Copy link
Author

moz-gfx commented Apr 8, 2020

@bors-servo r=auto

@bors-servo
Copy link
Contributor

bors-servo commented Apr 8, 2020

📌 Commit ff55326 has been approved by auto

@bors-servo
Copy link
Contributor

bors-servo commented Apr 8, 2020

Testing commit ff55326 with merge 3bf4123...

@bors-servo
Copy link
Contributor

bors-servo commented Apr 9, 2020

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: auto
Pushing 3bf4123 to master...

@bors-servo bors-servo merged commit 3bf4123 into servo:master Apr 9, 2020
3 checks passed
3 checks passed
Community-TC (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.