Support caching additional display items
Categories
(Core :: Graphics: WebRender, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | fixed |
People
(Reporter: mikokm, Assigned: mikokm)
References
Details
Attachments
(3 files)
Currently WebRender only knows how to cache Rectangle display items. We should be able to trivially extend this to all display items that have 1:1 mapping with Gecko, and do not depend on surrounding state.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
This patch changes the underlying storage for WR display items in DisplayItemCache
from Vec<Option<CachedDisplayItem> to Vec<Vec<CachedDisplayItem>>.
This allows storing multiple WebRender display items for one Gecko display item.
The storage is populated by traversing BuiltDisplayList extra data portion
in display list format, which is roughly as follows:
RetainedItems(key k1)
Item1(..)
RetainedItems(key k2)
ItemN(..)
ItemN+1(..)
This would store Item1 under key k1, and ItemN and ItemN+1 under the key k2,
where k1 and k2 are arbitrary unique identifiers (currently of type uint16_t).
The entries in the storage are accessed by DisplayItemCache::get_iterator(key),
which is called by BuiltDisplayListIter, whenever it encounters a display item
DisplayItem::ReuseItems(key).
Depends on D66442
Assignee | ||
Comment 3•5 years ago
|
||
Depends on D66443
Comment 5•5 years ago
|
||
Backed out for WebRender bustages.
Push with failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=293772104&resultStatus=testfailed%2Cbusted%2Cexception&revision=e79e84e8819c8a4521cdf0ed78ef4a6172eb0bed
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=293772104&repo=autoland
Backout: https://hg.mozilla.org/integration/autoland/rev/4eeedb4337c8b945764997ea8d959ee3ff8c4de9
Comment 7•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0e791acac783
https://hg.mozilla.org/mozilla-central/rev/aaed31bbe8f4
https://hg.mozilla.org/mozilla-central/rev/cac023f94cda
Assignee | ||
Updated•5 years ago
|
Description
•