pub fn plan_pool_slots(
gates: PoolGates,
render_extent: (u32, u32),
output_extent: (u32, u32),
) -> Result<Vec<TransientSlot>, String>Expand description
The alias-slot list a pool built for gates should allocate, taken straight
from the graph: the grouping and each member’s extent, format and usage come
from one planning graph, so init and resize cannot drift apart and neither
can the graph and the resource it describes.
render_extent sizes the render-resolution transients and output_extent is
the drawable the half-resolution ones scale off; under temporal upscaling
they differ, which is why both are passed rather than derived.
A planning graph that does not compile is a hard error rather than an empty pool: every consumer reads its target back out by label, so silently pooling nothing would fail later and further from the cause.