qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] ui: support multi plane texture
@ 2025-03-27  2:58 yuq825
  2025-03-27  2:58 ` [PATCH v3 1/6] ui/dmabuf: extend QemuDmaBuf to support multi-plane yuq825
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: yuq825 @ 2025-03-27  2:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Qiang Yu

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-04-29 11:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27  2:58 [PATCH v3 0/6] ui: support multi plane texture yuq825
2025-03-27  2:58 ` [PATCH v3 1/6] ui/dmabuf: extend QemuDmaBuf to support multi-plane yuq825
2025-03-27  2:58 ` [PATCH v3 2/6] ui/egl: require EGL_EXT_image_dma_buf_import_modifiers yuq825
2025-03-27  2:58 ` [PATCH v3 3/6] ui/egl: use DRM_FORMAT_MOD_INVALID as default modifier yuq825
2025-03-27  2:58 ` [PATCH v3 4/6] ui/egl: support multi-plane dmabuf when egl export/import yuq825
2025-03-27  2:58 ` [PATCH v3 5/6] ui/dbus: change dbus ScanoutDMABUF interface yuq825
2025-03-27  2:58 ` [PATCH v3 6/6] ui/spice: support multi plane dmabuf scanout yuq825
2025-04-29 11:25   ` Marc-André Lureau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).