[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 11/12] spice: add & use qemu_spice_gl_monitor
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 11/12] spice: add & use qemu_spice_gl_monitor_config |
Date: |
Fri, 19 Feb 2016 13:32:58 +0100 |
Hi
On Fri, Feb 19, 2016 at 10:14 AM, Gerd Hoffmann <address@hidden> wrote:
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> include/ui/spice-display.h | 1 +
> ui/spice-display.c | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 31 insertions(+)
>
Could eventually be squashed with "add opengl/virgl/dmabuf support" patch
Reviewed-by: Marc-André Lureau <address@hidden>
> diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
> index dd9cf6f..f9388c2 100644
> --- a/include/ui/spice-display.h
> +++ b/include/ui/spice-display.h
> @@ -71,6 +71,7 @@ typedef struct QXLCookie {
> QXLRect area;
> int redraw;
> } render;
> + void *data;
> } u;
> } QXLCookie;
>
> diff --git a/ui/spice-display.c b/ui/spice-display.c
> index 96beb02..34e6d51 100644
> --- a/ui/spice-display.c
> +++ b/ui/spice-display.c
> @@ -660,6 +660,11 @@ static void interface_async_complete(QXLInstance *sin,
> uint64_t cookie_token)
> qemu_bh_schedule(ssd->gl_unblock_bh);
> break;
> }
> + case QXL_COOKIE_TYPE_IO:
> + if (cookie->io == QXL_IO_MONITORS_CONFIG_ASYNC) {
> + g_free(cookie->u.data);
> + }
> + break;
> #endif
> default:
> /* should never be called, used in qxl native mode only */
> @@ -795,6 +800,29 @@ static const DisplayChangeListenerOps
> display_listener_ops = {
>
> #ifdef HAVE_SPICE_GL
>
> +static void qemu_spice_gl_monitor_config(SimpleSpiceDisplay *ssd,
> + int x, int y, int w, int h)
> +{
> + QXLMonitorsConfig *config;
> + QXLCookie *cookie;
> +
> + config = g_malloc0(sizeof(QXLMonitorsConfig) + sizeof(QXLHead));
> + config->count = 1;
> + config->max_allowed = 1;
> + config->heads[0].x = x;
> + config->heads[0].y = y;
> + config->heads[0].width = w;
> + config->heads[0].height = h;
> + cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO,
> + QXL_IO_MONITORS_CONFIG_ASYNC);
> + cookie->u.data = config;
> +
> + spice_qxl_monitors_config_async(&ssd->qxl,
> + (uintptr_t)config,
> + MEMSLOT_GROUP_HOST,
> + (uintptr_t)cookie);
> +}
> +
> static void qemu_spice_gl_block(SimpleSpiceDisplay *ssd, bool block)
> {
> uint64_t timeout;
> @@ -934,6 +962,8 @@ static void qemu_spice_gl_scanout(DisplayChangeListener
> *dcl,
> surface_width(ssd->ds),
> surface_height(ssd->ds),
> stride, fourcc, y_0_top);
> +
> + qemu_spice_gl_monitor_config(ssd, x, y, w, h);
> }
>
> static void qemu_spice_gl_update(DisplayChangeListener *dcl,
> --
> 1.8.3.1
>
--
Marc-André Lureau
- [Qemu-devel] [PATCH v2 00/12] spice: add opengl/virgl/dmabuf support, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 06/12] spice: add unblock timer, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 02/12] configure: add dma-buf support detection., Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 07/12] spice: tweak debug messages., Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 10/12] spice/gl: create dummy primary surface (RfC), Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 01/12] spice: init dcl before registering qxl interface, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 03/12] egl-helpers: add functions for render nodes and dma-buf passing, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 11/12] spice: add & use qemu_spice_gl_monitor_config, Gerd Hoffmann, 2016/02/19
- Re: [Qemu-devel] [PATCH v2 11/12] spice: add & use qemu_spice_gl_monitor_config,
Marc-André Lureau <=
- [Qemu-devel] [PATCH v2 04/12] spice: reset cursor on resize, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 12/12] [fixup] spice: qemu_spice_gl_monitor_config + surface, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 08/12] console: track gl_block state in QemuConsole, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 09/12] spice/gl: render DisplaySurface via opengl, Gerd Hoffmann, 2016/02/19
- [Qemu-devel] [PATCH v2 05/12] spice: add opengl/virgl/dmabuf support, Gerd Hoffmann, 2016/02/19