Support shared render targets that have a lifetime of more than one pass
Categories
(Core :: Graphics: WebRender, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox104 | --- | fixed |
People
(Reporter: gw, Assigned: gw)
References
Details
Attachments
(1 file)
Assignee | ||
Comment 1•2 years ago
|
||
In the presence of complex effects such as backdrop-filter, it's
possible that some picture cache tiles can be drawn in a different
pass to other picture cache tiles. If there are a large number of
child render tasks that are shared between tiles assigned to different
render passes, that may result in a large number of standalone render
target allocations, which can hurt performance and reduce batching
efficiency.
This patch allows shared surfaces to be used when they have a lifetime
that spans more than one pass. We track the free_after
in the active
shared surface list, and only allocate tasks if they match the lifetime
of other tasks in that shared surface. Existing logic ensures that
surface is returned to the shared target pool only after the free_after
pass has occurred.
Updated•2 years ago
|
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/55345d3c89c4 Support shared render targets that have a lifetime of more than one pass r=gfx-reviewers,lsalzman
Comment 3•2 years ago
|
||
bugherder |
Description
•