[RFC] dma buf: support sprite plane
This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1827772
Reported by 'Chen Zhang' on 2019-05-05 :
QEMU does not support sprite/overlay in DMA-buf mode for Intel gvt vGPUs. Some use cases relies on sprite plane support, e.g. hw accelerated video playback in Windows 10 guest. To support this feature, functions in both kernel and QEMU should be implemented: - query support for plane info in kernel: in vgpu_get_plane_info() of drm/i915/gvt/dmabuf.c, calls to intel_vgpu_decode_sprite_plane() shall be made; - struct to hold VFIODMABuf object in QEMU: in struct VFIODisplay of include/hw/vfio/vfio-common.h; - copying of data in QEMU: in vfio_display_get_dmabuf() of hw/vfio/display.c; - drawing of sprite plane in QEMU: in vfio_display_dmabuf_update() of hw/vfio/display.c; defining more DisplayChangeListenerOps for overlay; adding position info in struct QemuDmaBuf of include/ui/console.h; adding overlay_fb in struct VirtualGfxConsole of include/ui/gtk.h; implement gd_egl_overlay_dmabuf for overlay update;