Display list dump does not include all items
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox-esr78 | --- | wontfix |
firefox78 | --- | wontfix |
firefox79 | --- | wontfix |
firefox80 | --- | fixed |
People
(Reporter: mikokm, Assigned: kats)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
It seems that the current WR DL dump does not include all the serialized items. I think this might be caused by mBuilderDumpIndex being incremented wrong.
Testcase: data:text/html,test
Attached
- current WR DL dump
- "raw" WR DL dump (all the serialized items)
- patch to dump all serialized items.
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Comment 2•5 years ago
|
||
Reporter | ||
Comment 3•5 years ago
|
||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
This was never actually fixed; bug 1616335 just added a new dumping mechanism that didn't have this problem. With bug 1652986 fixed this problem comes back for the interleaved dumping mechanism enabled by gfx.webrender.dl.dump-content.
Assignee | ||
Comment 6•4 years ago
|
||
This happens because when the display list is properly finalized, it tacks on a "red zone" at the end of the data buffer, here. But when we make the "fake finalized" display list for printing purposes (here) we don't append the red zone, and so the iterator bails out here until enough stuff has been added to the data buffer. So I guess this was regressed by the switch over to peek-poke.
Assignee | ||
Comment 7•4 years ago
|
||
When iterating a "built display list" the iterator expects there to be a red
zone at the end of the data buffer. The incremental display list emitter fakes
having a built display list, but it still needs to tack on the red zone to
satisfy the iterator (and assertions inside peek-poke). However we don't want
to keep this red zone there after we're done, so this patch also adds a new
method to peek-poke that strips away the red zone. The churn caused on the
vector capacity should be negligible because this churn would happen
anyway as new items are added to the display list and when the display list
is actually finalized at the end.
Updated•4 years ago
|
Comment 9•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Updated•3 years ago
|
Description
•