Skip to content
  • Michael Tretter's avatar
    backend-pipewire: add DmaBuf allocation and import · ae53d196
    Michael Tretter authored
    
    
    The GL renderer allows the PipeWire backend to allocate DMABUFs that can be used
    as renderbuffers and passed to PipeWire. This allows to avoid a copy of the
    rendered output when using PipeWire.
    
    PipeWire negotiates DmaBuf buffers using the SPA_FORMAT_VIDEO_modifier property.
    Currently, the PipeWire-backend only announces and handles
    DRM_FORMAT_MOD_LINEAR, which allows to share DmaBufs with consumers that have
    modifier support for linear buffers. Consumers which could consume DmaBufs but
    don't support modifiers (DRM_FORMAT_MOD_INVALID) are not supported. Moreover,
    consumers that would benefit from other formats with modifiers, for example
    tiled or compressed, aren't not supported, too.
    
    Modifier negotiation can be added by extending the list of announced modifiers
    and selecting and checking the proposed modifiers in param_changed.
    
    Signed-off-by: Michael Tretter's avatarMichael Tretter <m.tretter@pengutronix.de>
    ae53d196
Loading