[PATCH v3 0/6] ui: support multi plane texture

yuq825@gmail.com posted 6 patches 5 days, 4 hours ago
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            |  45 +++++++++++
ui/dbus-listener.c              | 127 ++++++++++++++++++++++++++++----
ui/dmabuf.c                     |  77 +++++++++++++------
ui/egl-helpers.c                | 102 ++++++++++++++++++-------
ui/spice-display.c              | 102 ++++++++++++++++++-------
11 files changed, 397 insertions(+), 110 deletions(-)
[PATCH v3 0/6] ui: support multi plane texture
Posted by yuq825@gmail.com 5 days, 4 hours ago
From: Qiang Yu <yuq825@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

v3:
  * dbus rename interface, add more args

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            |  45 +++++++++++
 ui/dbus-listener.c              | 127 ++++++++++++++++++++++++++++----
 ui/dmabuf.c                     |  77 +++++++++++++------
 ui/egl-helpers.c                | 102 ++++++++++++++++++-------
 ui/spice-display.c              | 102 ++++++++++++++++++-------
 11 files changed, 397 insertions(+), 110 deletions(-)

-- 
2.43.0