• Simon Ser's avatar
    linux-dmabuf: clarify what mixed valid/INVALID modifiers mean · 3683a5eb
    Simon Ser authored
    This commit makes it clear that compositors can send valid modifiers and
    DRM_FORMAT_MOD_INVALID for a given format. This means that the compositor
    supports both implicit and explicit modifiers. See the warning further
    > Warning: It should be an error if the format/modifier pair was not
    > advertised with the modifier event. This is not enforced yet because
    > some implementations always accept DRM_FORMAT_MOD_INVALID. Also
    > version 2 of this protocol does not have the modifier event.
    Xwayland already requires compositors to send DRM_FORMAT_MOD_INVALID
    for importing buffers with an implicit modifier [1].
    In a future protocol version, it would be nice to make it a protocol
    error (or at least a soft failure) to use any format/modifier pair that
    wasn't advertised. A use-case for this is Vulkan compositors: the Vulkan
    DMA-BUF extensions require an explicit modifier and cannot import
    buffers which have an implicit modifier.
    [1]: https://gitlab.freedesktop.org/xorg/xserver/-/blob/6c51818a0f55282cbe5a870f58ca82ca45ee472d/hw/xwayland/xwayland-glamor-gbm.c#L328
    Signed-off-by: Simon Ser's avatarSimon Ser <contact@emersion.fr>