pub fn execute_deferred<H>(
ctx: &mut <H as Hal>::Context,
surface: &mut <H as Hal>::Texture,
recording: &Recording,
images: &[&<H as Hal>::Texture],
) -> Result<(<H as Hal>::Fence, Transient<H>), Error>Expand description
Render a recording’s layers, then submit its root without waiting.
The shape a display path needs. Everything but the root is a prerequisite of it rather than part of the frame’s pacing, so those go through the waiting submission and are ordered before the root by having finished; only the root produces a fence, because the fence is what a page flip is gated on and the root is the pass that fills the image being flipped.
Both halves of the return travel together until the fence retires: the layer targets are what the submission is still sampling. Handing them back rather than hiding them is deliberate — a caller that owns the fence is the only one that knows when it retires.