egl: allow INVALID format for linux_dmabuf
authorIvan Molodetskikh <yalterz@gmail.com>
Thu, 26 Sep 2019 21:45:39 +0000 (00:45 +0300)
committerMarge Bot <eric+marge@anholt.net>
Mon, 2 Mar 2020 21:09:26 +0000 (21:09 +0000)
commitc376865f5eeca535c4aa8e33bcf166052c1ce2f2
tree314fd22d1d485b6fc7969cacd962bc7385e3ebab
parent646fbb1c4f39f61648c1a1153070df2452153450
egl: allow INVALID format for linux_dmabuf

As per
https://gitlab.freedesktop.org/wayland/wayland-protocols/commit/fb9b2a87317c77e26283da5f6c9559d709f6fdcd,
the compositor may advertise DRM_FORMAT_MOD_INVALID as a supported
modifier. This patch makes mesa recognize this fact and allow
linux_dmabuf usage with the INVALID modifier in this case.

In case the driver doesn't support modifiers, we can still use
linux-dmabuf protocol instead of the legacy wl_drm interface to create
wl_buffers. This will help compositors to handle these buffers better.

In this commit, the INVALID modifier is allowed to be added to the list
of supported modifiers, and create_wl_buffer will be able to use
linux_dmabuf with an INVALID modifier if the compositor advertised it as
supported.

Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2147>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2147>
src/egl/drivers/dri2/platform_wayland.c