>From 47f514ba3c2d261dc3fa76ebab37f0bb5d566252 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Fri, 6 Oct 2017 10:17:10 +0200 Subject: [RfC PATCH] qxl: add primary surface update support This operation allows to update the primary surface without going through a destroy + create cycle. It is limited to backing memory updates (i.e. pageflip operations). Only the spice server needs the memory location, so this doesn't need changes in the spice protocol and the spice client. The guest must update QXLRam->create_surface->mem, then invoke the new QXL_IO_UPDATE_PRIMARY_ASYNC operation via ioport write. I'd suggest spice-server provides a new spice_qxl_update_surface_async() function implementing this. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> --- spice/qxl_dev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h index 9e753c4073..b8fba8e233 100644 --- a/spice/qxl_dev.h +++ b/spice/qxl_dev.h @@ -50,6 +50,7 @@ enum { QXL_REVISION_STABLE_V06=0x02, QXL_REVISION_STABLE_V10=0x03, QXL_REVISION_STABLE_V12=0x04, + QXL_REVISION_STABLE_V14=0x05, }; #define QXL_DEVICE_ID_DEVEL 0x01ff @@ -97,6 +98,8 @@ enum { QXL_IO_FLUSH_RELEASE, /* appended for qxl-4 */ QXL_IO_MONITORS_CONFIG_ASYNC, + /* appended for qxl-5 */ + QXL_IO_UPDATE_PRIMARY_ASYNC, QXL_IO_RANGE_SIZE }; -- 2.9.3
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel