Skip to content

Use EGL_LINUX_DMA_BUF_EXT to create GBM bo EGLImages

James Jones requested to merge cubanismo/xserver:xwayland_dma_buf into master

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.

Merge request reports