Scope-based usage tracking in the render pass #443
Labels
area: performance
How fast things go
help required
We need community help to make this happen.
type: enhancement
New feature or request
Currently, we are creating a new resource tracker for each recorded render pass. It's short-lived and it only accumulates the "current" state of every used resource as a union of all the usages needed by the pass. Once a pass has finished recording, we'll stitch the current state of each resource before the pass with the combined usage of a pass.
It's unfortunate to re-populate a resource tracker from the ground up. I wonder if it would make sense to just extend the number of states stored per resource in the tracker of a command buffer. Currently it's just
(initial, current)
. We could make it(initial, current, temporary)
. When a pass is started, we'd do something like:Then we'd merge all the usage we encounter in a pass (into
current
) and at the end of the pass do:The benefit is - having less stuff done for a render pass, so lower overhead.
The text was updated successfully, but these errors were encountered: