[Spice-commits] qemu/hw

Izik Eidus izik at kemper.freedesktop.org
Wed Apr 14 09:41:20 PDT 2010


 qemu/hw/qxl.c               |   20 ++------------------
 qemu/hw/qxl_interface.h     |    5 +++--
 qemu/hw/qxl_native_worker.c |    4 +++-
 3 files changed, 8 insertions(+), 21 deletions(-)

New commits:
commit e6993b8a04fc649c89236af9d07cfc2ed89a0ed8
Author: Izik Eidus <ieidus at redhat.com>
Date:   Wed Apr 14 19:48:08 2010 +0300

    vdesktop: qxl device: move into the new update_area command
    
    Signed-off-by: Izik Eidus <ieidus at redhat.com>

diff --git a/qemu/hw/qxl.c b/qemu/hw/qxl.c
index 5e06880..509f685 100644
--- a/qemu/hw/qxl.c
+++ b/qemu/hw/qxl.c
@@ -414,12 +414,6 @@ static int _qxl_get_cursor_command(PCIQXLDevice *d, QXLCommandExt *cmd_ext)
     return 1;
 }
 
-static void _qxl_get_update_area(PCIQXLDevice *d, const Rect **rect, UINT32 **surface_id)
-{
-    *rect = &d->state.ram->update_area;
-    *surface_id = &d->state.ram->update_surface;
-}
-
 static int _qxl_req_cmd_notification(PCIQXLDevice *d)
 {
     int wait;
@@ -1153,7 +1147,8 @@ static void ioport_write(void *opaque, uint32_t addr, uint32_t val)
     }
     switch (io_port) {
     case QXL_IO_UPDATE_AREA:
-        d->worker->update_area(d->worker);
+        d->worker->update_area(d->worker, d->state.ram->update_surface, &d->state.ram->update_area,
+                               NULL, 0, 0);
         break;
     case QXL_IO_NOTIFY_CMD:
         d->worker->wakeup(d->worker);
@@ -1810,11 +1805,6 @@ int qxl_has_command(QXLDevRef dev_ref)
     return _qxl_has_command((PCIQXLDevice *)dev_ref);
 }
 
-void qxl_get_update_area(QXLDevRef dev_ref, const Rect **rect, UINT32 **surface_id)
-{
-    _qxl_get_update_area((PCIQXLDevice *)dev_ref, rect, surface_id);
-}
-
 int qxl_flush_resources(QXLDevRef dev_ref)
 {
     return _qxl_flush_resources((PCIQXLDevice *)dev_ref);
@@ -1894,11 +1884,6 @@ static int interface_req_cursor_notification(QXLInterface *qxl)
     return _qxl_req_cursor_notification(((Interface *)qxl)->d);
 }
 
-static void interface_get_update_area(QXLInterface *qxl, const Rect **rect, UINT32 **surface_id)
-{
-    _qxl_get_update_area(((Interface *)qxl)->d, rect, surface_id);
-}
-
 static void interface_notify_update(QXLInterface *qxl, uint32_t update_id)
 {
     _qxl_notify_update(((Interface *)qxl)->d, update_id);
@@ -1949,7 +1934,6 @@ static void regitser_interface(PCIQXLDevice *d)
     interface->vd_interface.release_resource = interface_release_resource;
     interface->vd_interface.get_cursor_command = interface_get_cursor_command;
     interface->vd_interface.req_cursor_notification = interface_req_cursor_notification;
-    interface->vd_interface.get_update_area = interface_get_update_area;
     interface->vd_interface.notify_update = interface_notify_update;
     interface->vd_interface.set_save_data = interface_set_save_data;
     interface->vd_interface.get_save_data = interface_get_save_data;
diff --git a/qemu/hw/qxl_interface.h b/qemu/hw/qxl_interface.h
index 24f10da..a270275 100644
--- a/qemu/hw/qxl_interface.h
+++ b/qemu/hw/qxl_interface.h
@@ -72,7 +72,9 @@ struct QXLWorker {
     void (*load)(QXLWorker *worker);
     void (*start)(QXLWorker *worker);
     void (*stop)(QXLWorker *worker);
-    void (*update_area)(QXLWorker *worker);
+    void (*update_area)(QXLWorker *qxl_worker, uint32_t surface_id,
+                        Rect *area, Rect *dirty_rects,
+                        uint32_t num_dirty_rects, uint32_t clear_dirty_region);
     void (*add_memslot)(QXLWorker *worker, QXLDevMemSlot *slot);
     void (*del_memslot)(QXLWorker *worker, uint32_t slot_group_id, uint32_t slot_id);
     void (*reset_memslots)(QXLWorker *worker);
@@ -96,7 +98,6 @@ int qxl_req_cmd_notification(QXLDevRef dev_ref);
 int qxl_get_cursor_command(QXLDevRef dev_ref, QXLCommandExt *cmd);
 int qxl_req_cursor_notification(QXLDevRef dev_ref);
 int qxl_has_command(QXLDevRef dev_ref);
-void qxl_get_update_area(QXLDevRef dev_ref, const Rect **rect, uint32_t **surface_id);
 int qxl_flush_resources(QXLDevRef dev_ref);
 void qxl_set_save_data(QXLDevRef dev_ref, void *data, int size);
 void *qxl_get_save_data(QXLDevRef dev_ref);
diff --git a/qemu/hw/qxl_native_worker.c b/qemu/hw/qxl_native_worker.c
index 35664cf..70d5da2 100644
--- a/qemu/hw/qxl_native_worker.c
+++ b/qemu/hw/qxl_native_worker.c
@@ -227,7 +227,9 @@ static void native_qxl_worker_detach(QXLWorker *worker)
     native_qxl_worker_wakeup(worker);
 }
 
-static void native_qxl_worker_update_area(QXLWorker *worker)
+static void native_qxl_worker_update_area(QXLWorker *worker, uint32_t surface_id,
+                                          Rect *area, Rect *dirty_rects,
+                                          uint32_t num_dirty_rects, uint32_t clear_dirty_region)
 {
     qxl_printf("");
     native_qxl_worker_wakeup(worker);


More information about the Spice-commits mailing list