Use EGL_LINUX_DMA_BUF_EXT to create GBM bo EGLImages

Xwayland was passing GBM bos directly to
eglCreateImageKHR using the EGL_NATIVE_PIXMAP_KHR
target. Given the EGL GBM platform spec claims it
is invalid to create a EGLSurface from a native
pixmap on the GBM platform, implying there is no
mapping between GBM objects and EGL's concept of
native pixmaps, this seems a bit questionable.

This change modifies the bo import function to
extract all the required data from the bo and then
imports it as a dma-buf instead when the dma-buf +
modifiers path is available.

Signed-off-by: James Jones <jajones@nvidia.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
5 jobs for xwayland_dma_buf in 4 minutes and 49 seconds (queued for 6 seconds)
Status Name Job ID Coverage
  Docker Image
passed debian-buster #14398027

00:00:32

 
  Build And Test
passed autotools #14398028

00:04:16

passed meson #14398029

00:01:35

passed meson-noglamor #14398030

00:01:16

passed mingw-cross-build #14398031

00:00:50