mbox series

[v2,00/19] UI-related fixes & shareable 2d memory with -display dbus

Message ID 20241008125028.1177932-1-marcandre.lureau@redhat.com
Headers show
Series UI-related fixes & shareable 2d memory with -display dbus | expand

Message

Marc-André Lureau Oct. 8, 2024, 12:50 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

This series adds Listener.Unix.Map interface to -display dbus, to allow shared
memory for the display (similar to Listener.Win32.Map interface).

While working on it, I collected a few fixes. I can re-send them in a different
series or queue them once they are reviewed.

thanks

v2 (after Akhiko Odaki review):
 - rebased
 - introduce qemu_pixman_shareable, to reduce #ifdef usage
 - fixed bad mmap testing
 - fixed mingw cross-compilation

Marc-André Lureau (19):
  hw/audio/hda: free timer on exit
  hw/audio/hda: fix memory leak on audio setup
  ui/dbus: fix leak on message filtering
  ui/win32: fix potential use-after-free with dbus shared memory
  ui/dbus: fix filtering all update messages
  ui/dbus: discard display messages on disable
  ui/dbus: discard pending CursorDefine on new one
  util/memfd: report potential errors on free
  ui/pixman: generalize shared_image_destroy
  ui/dbus: do not limit to one listener per connection / bus name
  ui/dbus: add trace for can_share_map
  ui/surface: allocate shared memory on !win32
  meson: find_program('gdbus-codegen') directly
  ui/dbus: make Listener.Win32.Map win32-specific
  ui/dbus: add Listener.Unix.Map interface XML
  ui/dbus: implement Unix.Map
  virtio-gpu: allocate shareable 2d resources on !win32
  ui: refactor using a common qemu_pixman_shareable
  tests: add basic -display dbus Map.Unix test

 meson.build                     |   2 +-
 include/hw/virtio/virtio-gpu.h  |   4 +-
 include/ui/qemu-pixman.h        |  24 +++++
 include/ui/surface.h            |  14 ++-
 hw/audio/hda-codec.c            |  33 ++++---
 hw/display/virtio-gpu.c         |  69 ++++----------
 tests/qtest/dbus-display-test.c |  72 ++++++++++++++-
 ui/console.c                    |  78 ++++++----------
 ui/dbus-console.c               |  23 +----
 ui/dbus-listener.c              | 159 ++++++++++++++++++++++++++++----
 ui/qemu-pixman.c                |  71 ++++++++++++++
 util/memfd.c                    |   9 +-
 ui/dbus-display1.xml            |  49 ++++++++++
 ui/trace-events                 |   1 +
 14 files changed, 440 insertions(+), 168 deletions(-)