Expand description
Draw a recording into a texture this crate did not create.
Context::draw covers the case where the target came from
Context::create_surface, and that is the ordinary one. This is the other:
a swapchain hands out its own images, and drawing into one means naming a
texture the caller got from somewhere else. Without this the presentation
path re-exported above reached a swapchain and then had nothing to draw into
its images with, which is a window a caller can open and not fill.
Rendering a recording, pass by pass.
Here rather than in the crate that wraps a backend, because a recording is defined here and executing one is nothing more than reading it: a layer is a target allocated at that pass’s size, rendered into, and sampled by a later pass. Nothing about that is backend-specific, so it is written once and generic over the HAL. It had been private to the public crate, which left the test harness with the choice of duplicating it or staying at the batch level where layers cannot be expressed.
Structs§
- Transient
- The textures a recording needs that it did not arrive with.
Functions§
- execute
- Render every pass of a recording, layers first, root into the surface.
- execute_
deferred - Render a recording’s layers, then submit its root without waiting.
- execute_
layers - Render every pass except the root, returning the layer targets in order.
- render_
offscreen - Render a recording into a texture this function allocates, and read it back.
- render_
offscreen_ into - The same, into a target of the caller’s choosing.
- resolve_
sources - Resolve one pass’s slot table against the caller’s images and the layers rendered so far.