This adds support for holes within virtual surfaces. On platforms
that don't use virtual surfaces, this just works by destroying
the tile that is empty so it never gets composited.
Details
- Reviewers
mstange sotaro kvark - Commits
- rMOZILLACENTRALe9d191b5eb8a: Bug 1606685 - Support empty tiles within compositor surfaces. r=sotaro
- Bugzilla Bug ID
- 1606685
Diff Detail
- Repository
- rMOZILLACENTRAL mozilla-central
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
This implements the first part - supporting empty tiles (holes) in surfaces. I'm working on the second part (per-tile clip rects to reduce pixel count further) as a follow up.
Since applying the patch, I saw a white rectangle during scrolling a page or Tab switching. I wonder if the problem is related to the patch. I do not know a specific STR to reproduce it reliably yet.
https://www.yahoo.com/ was easier to reproduce the problem for me. I confirmed it on 2 Win10 PCs. Without the patch, I did not see the problem.
STR
- [0] Enable wr os compositor with the patch.
- [1] Enable bookmark toolbar
- [2] Bookmark https://www.yahoo.com/ to the toolbar
- [3] click the yahoo link on the toolbar. And load https://www.yahoo.com/
- [4] Scroll the page
When the problem did not happen at [4], the repeat [3] and [4].
I can repro this locally - I will investigate today / tomorrow. Thanks for the repro!
Updated with a fix for a typo in the UpdateAllocatedRect method. Seems to fix the problem for me.