This brings Vulkan guest paravirtualization to macOS hosts. The bulk of the work
is being submitted to the virglrenderer project so this is a RFC for now.

In addition to Vulkan, we also introduce Metal texture scanout for GLES guests
as well. We also added Metal texture rendering in the Cocoa backend but that
builds upon the GLES work by Akihiko Odaki which is not currently upstream.

Fork with all dependent changes:
  https://github.com/utmapp/qemu/tree/submit/macos-venus
Instructions for building and testing with all related projects:
  https://gist.github.com/osy/a8f705050eed1c8421ad1a0855a8faa9

Joelle van Dyne (7):
  egl-helpers: store handle to native device
  virtio-gpu-virgl: check page alignment of blob mapping
  console: rename `d3d_tex2d` to `native`
  virtio-gpu-virgl: update virglrenderer defines
  virtio-gpu-virgl: support scanout of Metal textures
  console: add cleanup callback for ScanoutTexture
  virtio-gpu-virgl: add support for native blob scanout

 meson.build                   |   9 +++
 include/ui/console.h          |  31 ++++++++-
 include/ui/egl-helpers.h      |   2 +-
 include/ui/gtk.h              |   4 +-
 include/ui/sdl2.h             |   2 +-
 hw/display/virtio-gpu-virgl.c | 126 +++++++++++++++++++++++++++++++---
 hw/display/virtio-gpu.c       |   2 +
 ui/console.c                  |  60 +++++++++++++---
 ui/dbus-console.c             |   2 +-
 ui/dbus-listener.c            |   8 +--
 ui/egl-headless.c             |   2 +-
 ui/egl-helpers.c              |   4 +-
 ui/gtk-egl.c                  |   2 +-
 ui/gtk-gl-area.c              |   2 +-
 ui/sdl2-gl.c                  |   2 +-
 ui/spice-display.c            |   2 +-
 16 files changed, 225 insertions(+), 35 deletions(-)

-- 
2.41.0


Reply via email to