Allow reusing render tasks within a frame
Categories
(Core :: Graphics: WebRender, task, P3)
Tracking
()
People
(Reporter: nical, Assigned: nical)
Details
(Whiteboard: [wr-q2][wr-april])
Attachments
(3 files)
There can currently be only one render task reading the input of another task in the render task tree.
We want to be able to have several tasks read the output of another task (effectively turning the render task tree into a render task graph), in order to perform some optimizations such as reusing intermediate work when an item has multiple shadows, and efficiently expressing SVG filter graphs.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
Due to the render task ping-pong target allocation scheme, we need to ensure:
- that tasks only read from tasks that are an odd number of passes apart,
- that render task content is kept valid long enough for all of the dependent tasks.
The former is solved in this patch through blit tasks, the latter by marking tasks for saving as needed.
Assignee | ||
Comment 2•6 years ago
|
||
Screenshot of wrench with a stack of 4 shadows and the generated render task graph. Two shadows with identical radii (so they share all render tasks), one with a slightly higher radius that can reuse both down-scale passes but needs its own blur passes, and one with a smaller radius using a single downscale and a blit to resolve the allocation conflict.
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 5•6 years ago
|
||
bugherder |
Comment 7•6 years ago
|
||
Backed out changeset 8f066e5c42c8 (Bug 1543974) for causing bustages on webrender builds
Backout link: https://hg.mozilla.org/integration/autoland/rev/bfeb8f1e42e35f32fe2f4382962c3586336b5b33
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=8f066e5c42c8d093eca140056720b3808065f7e7
Comment 9•6 years ago
|
||
bugherder |
Assignee | ||
Updated•6 years ago
|
Description
•