Skip to main content

bootstrap_readback_pool

Function bootstrap_readback_pool 

Source
pub(crate) fn bootstrap_readback_pool(
    cap: &mut WlCapture,
    display_id: u32,
    use_gpu: bool,
    try_gpu: bool,
    prior: Option<FrameEncoder>,
    predecessor: Option<JoinHandle<Option<FrameEncoder>>>,
)
Expand description

Start (or in-place reconfigure) the capture bound to output display_id: reprogram the output’s mode/scale/refresh, size the render targets, fullscreen the display’s windows at the new logical size, resolve the encode path (zero-copy vs readback), and spawn the delivery (and readback-mode encode) threads. The single-display behavior of the former global StartCapture is preserved exactly for display 0. Bring up the readback encode path (pixman readback → pool → encode thread) for a capture whose zero-copy session is absent or just died. Mirrors the start-capture bootstrap: u64::MAX content generations mark every pool slot stale so each one is read back before its first publish, whatever the damage says.