From: Qiang Yu <yuq...@gmail.com> mesa/radeonsi is going to support explicit modifier with this MR: * https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31658
The side effect is some texture will become multi-plane which breaks qemu. Because qemu currently only support single plane texture. For example, texture with DCC (a compressed format) enabled modifier will expose one plane for compressed data, another plane with metadata for compression. This patch serial fix qemu to support multi-plane texture for DBus and SPICE display, other display seems not affected by multi plane. This patch serial also depends on the spice changes here: * https://gitlab.freedesktop.org/spice/spice/-/merge_requests/232 SPICE client change here: * https://gitlab.freedesktop.org/spice/spice-gtk/-/merge_requests/130 DBus client change here: * https://gitlab.com/marcandre.lureau/qemu-display/-/merge_requests/5 v2: * change dmabuf API for array length * check spice_qxl_gl_scanout2 API instead of bumping spice version Qiang Yu (6): ui/dmabuf: extend QemuDmaBuf to support multi-plane ui/egl: require EGL_EXT_image_dma_buf_import_modifiers ui/egl: use DRM_FORMAT_MOD_INVALID as default modifier ui/egl: support multi-plane dmabuf when egl export/import ui/dbus: change dbus ScanoutDMABUF interface ui/spice: support multi plane dmabuf scanout hw/display/vhost-user-gpu.c | 9 ++- hw/display/virtio-gpu-udmabuf.c | 8 ++- hw/vfio/display.c | 7 +- include/ui/dmabuf.h | 20 +++--- include/ui/egl-helpers.h | 5 +- meson.build | 5 ++ ui/dbus-display1.xml | 37 ++++++++++ ui/dbus-listener.c | 123 ++++++++++++++++++++++++++++---- ui/dmabuf.c | 77 +++++++++++++------- ui/egl-helpers.c | 102 +++++++++++++++++++------- ui/spice-display.c | 102 ++++++++++++++++++-------- 11 files changed, 385 insertions(+), 110 deletions(-) -- 2.43.0