Skip to content

scene: unwrap wlr_client_buffer for direct scan-out

Passing the wlr_client_buffer directly has a downsides because a fresh wlr_buffer pointer is passed each output commit instead of cycling through existing wlr_buffer objects:

  • The FDs are re-imported each time in the backend.
  • Any import failure is logged every output commit 1.
  • The Wayland backend cannot handle import failures without roundtripping each output commit 2.

Instead, extract the source buffer from the wlr_client_buffer and pass that to the backend.

Merge request reports

Loading