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

Fix a bug in invalidating tiles from a previous scene. #3365

Merged
merged 1 commit into from Nov 28, 2018

Conversation

@gw3583
Copy link
Collaborator

commented Nov 28, 2018

Any retained tiles from a previous scene were being dropped if not
used after building the dirty region for the first tile cache.

This works in simple applications, but in Gecko, where multiple
tile caches exist, it means that we were dropping any retained
tiles that other tile caches may want, after the first tile cache
updated.

Instead, only drop previous scene tiles after all tile caches
have had a chance to retain tiles.


This change is Reviewable

Any retained tiles from a previous scene were being dropped if not
used after building the dirty region for the first tile cache.

This works in simple applications, but in Gecko, where multiple
tile caches exist, it means that we were dropping any retained
tiles that other tile caches may want, after the first tile cache
updated.

Instead, only drop previous scene tiles after all tile caches
have had a chance to retain tiles.
@gw3583

This comment has been minimized.

Copy link
Collaborator Author

commented Nov 28, 2018

Found while integrating the picture caching into gecko.

r? @kvark or anyone

@kvark

This comment has been minimized.

Copy link
Member

commented Nov 28, 2018

@gw3583 it would be good to have some kind of test coverage for the tile cache. Perhaps, we could have reftests where you provide 2 yamls (with some attributes to select the cached tile-ability of stacking contexts) and then specify the expectation on the number of surfaces drawn?

@bors-servo r+

@bors-servo

This comment has been minimized.

Copy link
Contributor

commented Nov 28, 2018

📌 Commit 82440f3 has been approved by kvark

@bors-servo

This comment has been minimized.

Copy link
Contributor

commented Nov 28, 2018

⌛️ Testing commit 82440f3 with merge 0c6b52e...

bors-servo added a commit that referenced this pull request Nov 28, 2018
Fix a bug in invalidating tiles from a previous scene.

Any retained tiles from a previous scene were being dropped if not
used after building the dirty region for the first tile cache.

This works in simple applications, but in Gecko, where multiple
tile caches exist, it means that we were dropping any retained
tiles that other tile caches may want, after the first tile cache
updated.

Instead, only drop previous scene tiles after all tile caches
have had a chance to retain tiles.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3365)
<!-- Reviewable:end -->
@bors-servo

This comment has been minimized.

Copy link
Contributor

commented Nov 28, 2018

☀️ Test successful - status-appveyor, status-taskcluster
Approved by: kvark
Pushing 0c6b52e to master...

@bors-servo bors-servo merged commit 82440f3 into servo:master Nov 28, 2018
3 checks passed
3 checks passed
Taskcluster (pull_request) TaskGroup: success
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
@gw3583

This comment has been minimized.

Copy link
Collaborator Author

commented Nov 28, 2018

Yea, I've been thinking a bit about the best way to test it. I have some ideas, could be a good discussion topic for next week too.

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 29, 2018
…a1615ef523c8 (WR PR #3365). r=kats

servo/webrender#3365

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

--HG--
extra : moz-landing-system : lando
jankeromnes pushed a commit to jankeromnes/gecko that referenced this pull request Nov 29, 2018
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 3, 2019
…a1615ef523c8 (WR PR #3365). r=kats

servo/webrender#3365

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

UltraBlame original commit: b6628da730a9dd6c5d88fd75e4b1b6878d357e4e
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 3, 2019
…a1615ef523c8 (WR PR #3365). r=kats

servo/webrender#3365

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

UltraBlame original commit: b6628da730a9dd6c5d88fd75e4b1b6878d357e4e
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 3, 2019
…a1615ef523c8 (WR PR #3365). r=kats

servo/webrender#3365

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

UltraBlame original commit: b6628da730a9dd6c5d88fd75e4b1b6878d357e4e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.