Re: qxl and page flip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]