[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/3] spice: add scanout_dmabuf support
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/3] spice: add scanout_dmabuf support |
Date: |
Tue, 6 Mar 2018 12:51:36 +0100 |
Hi
On Tue, Mar 6, 2018 at 9:38 AM, Gerd Hoffmann <address@hidden> wrote:
> Add support for scanout dmabufs. Just
> pass them through to spice-server.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> ui/spice-display.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/ui/spice-display.c b/ui/spice-display.c
> index f3ae6beb3d..a494db1196 100644
> --- a/ui/spice-display.c
> +++ b/ui/spice-display.c
> @@ -936,6 +936,20 @@ static void
> qemu_spice_gl_scanout_texture(DisplayChangeListener *dcl,
> ssd->have_scanout = true;
> }
>
> +static void qemu_spice_gl_scanout_dmabuf(DisplayChangeListener *dcl,
> + QemuDmaBuf *dmabuf)
> +{
> + SimpleSpiceDisplay *ssd = container_of(dcl, SimpleSpiceDisplay, dcl);
> +
> + /* note: spice server will close the fd, so hand over a dup */
> + spice_qxl_gl_scanout(&ssd->qxl, dup(dmabuf->fd),
> + dmabuf->width, dmabuf->height,
> + dmabuf->stride, dmabuf->fourcc, false);
> + qemu_spice_gl_monitor_config(ssd, 0, 0, dmabuf->width, dmabuf->height);
> + ssd->have_surface = false;
> + ssd->have_scanout = true;
> +}
> +
> static void qemu_spice_gl_update(DisplayChangeListener *dcl,
> uint32_t x, uint32_t y, uint32_t w,
> uint32_t h)
> {
> @@ -969,6 +983,7 @@ static const DisplayChangeListenerOps
> display_listener_gl_ops = {
>
> .dpy_gl_scanout_disable = qemu_spice_gl_scanout_disable,
> .dpy_gl_scanout_texture = qemu_spice_gl_scanout_texture,
> + .dpy_gl_scanout_dmabuf = qemu_spice_gl_scanout_dmabuf,
> .dpy_gl_update = qemu_spice_gl_update,
> };
>
> --
> 2.9.3
>
>
Looks good. Btw, how is multi-monitor designed? Is there going to be a
scanout/dmabuf per monitor when using vfio/mdev?
--
Marc-André Lureau