On Tue, 16 Apr 2019 10:06:43 -0700 Chia-I Wu <[email protected]> wrote:
> DRM_FORMAT_MOD_INVALID means to derive the modifier from the dmabuf. > It provides legacy support and makes it easier to replace wl_drm. > > Signed-off-by: Chia-I Wu <[email protected]> > --- > .../linux-dmabuf/linux-dmabuf-unstable-v1.xml | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > index 154afe2..e1ac82f 100644 > --- a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > +++ b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > @@ -28,6 +28,7 @@ > <description summary="factory for creating dmabuf-based wl_buffers"> > Following the interfaces from: > > https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txt > + > https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt > and the Linux DRM sub-system's AddFb2 ioctl. > > This interface offers ways to create generic dmabuf-based > @@ -129,8 +130,16 @@ > binds to this interface. A roundtrip after binding guarantees that > the client has received all supported format-modifier pairs. > > + For legacy support, DRM_FORMAT_MOD_INVALID (that is, modifier_hi == > + 0x00ffffff and modifier_lo == 0xffffffff) is considered a valid > + modifier. It indicates that the server can support the format with an > + implicit modifier. When a plane has DRM_FORMAT_MOD_INVALID as its > + modifier, the effective modifier will be derived from the dmabuf > + rather than the explicitly specified value. > + > For the definition of the format and modifier codes, see the > - zwp_linux_buffer_params_v1::create request. > + zwp_linux_buffer_params_v1::create and > zwp_linux_buffer_params_v1::add > + requests. > </description> > <arg name="format" type="uint" summary="DRM_FORMAT code"/> > <arg name="modifier_hi" type="uint" > @@ -197,6 +206,11 @@ > compression, etc. driver-specific modifications to the base format > defined by the DRM fourcc code. > > + 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. > + > This request raises the PLANE_IDX error if plane_idx is too large. > The error PLANE_SET is raised if attempting to set a plane that > was already set. Reviewed-by: Pekka Paalanen <[email protected]> I'm also ok with the patch v3 wording: + For legacy support, DRM_FORMAT_MOD_INVALID (that is, modifier_hi == + 0x00ffffff and modifier_lo == 0xffffffff) is allowed in this event. + It indicates that the server can support the format with an implicit + modifier. When a plane has DRM_FORMAT_MOD_INVALID as its modifier, it + is as if no explicit modifier is specified. The effective modifier + will be derived from the dmabuf. Thanks, pq
pgpWu3LUgRiSH.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
