summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIzik Eidus <ieidus@redhat.com>2010-04-14 19:48:08 +0300
committerIzik Eidus <ieidus@redhat.com>2010-04-14 19:48:08 +0300
commite6993b8a04fc649c89236af9d07cfc2ed89a0ed8 (patch)
treea534de8e92894e4d4a183fa87f716c7e141c2585
parent64ada13d45afdd62e6f3a896e05ec120af0fed3d (diff)
vdesktop: qxl device: move into the new update_area command
Signed-off-by: Izik Eidus <ieidus@redhat.com>
-rw-r--r--qemu/hw/qxl.c20
-rw-r--r--qemu/hw/qxl_interface.h5
-rw-r--r--qemu/hw/qxl_native_worker.c4
3 files changed, 8 insertions, 21 deletions
diff --git a/qemu/hw/qxl.c b/qemu/hw/qxl.c
index 5e06880c..509f6854 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 24f10da0..a2702752 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 35664cf9..70d5da22 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);