summaryrefslogtreecommitdiffstats
path: root/server/red_dispatcher.h
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-07-06 02:12:19 +0200
committerAlon Levy <alevy@redhat.com>2011-07-20 16:00:19 +0300
commit096f49afbf4e83ccee80f58479b3ff05bd355660 (patch)
tree7f8df1ea290e3ed23b0a34a82ae0f22aaf8cbc38 /server/red_dispatcher.h
parent4db8f5efdda91acf3b94c6c104d48438f6f4e85d (diff)
downloadspice-096f49afbf4e83ccee80f58479b3ff05bd355660.tar.gz
spice-096f49afbf4e83ccee80f58479b3ff05bd355660.tar.xz
spice-096f49afbf4e83ccee80f58479b3ff05bd355660.zip
server: add async io support
The new _ASYNC io's in qxl_dev listed at the end get six new api functions, and an additional callback function "async_complete". When the async version of a specific io is used, completion is notified by calling async_complete, and no READY message is written or expected by the dispatcher. update_area has been changed to push QXLRects to the worker thread, where the conversion to SpiceRect takes place. A cookie has been added to each async call to QXLWorker, and is passed back via async_complete. Added api: QXLWorker: update_area_async add_memslot_async destroy_surfaces_async destroy_primary_surface_async create_primary_surface_async destroy_surface_wait_async QXLInterface: async_complete
Diffstat (limited to 'server/red_dispatcher.h')
-rw-r--r--server/red_dispatcher.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/server/red_dispatcher.h b/server/red_dispatcher.h
index 3f3c1aef..fa347f19 100644
--- a/server/red_dispatcher.h
+++ b/server/red_dispatcher.h
@@ -18,7 +18,6 @@
#ifndef _H_RED_DISPATCHER
#define _H_RED_DISPATCHER
-
struct RedDispatcher *red_dispatcher_init(QXLInstance *qxl);
void red_dispatcher_set_mm_time(uint32_t);
@@ -29,5 +28,7 @@ int red_dispatcher_count(void);
int red_dispatcher_add_renderer(const char *name);
uint32_t red_dispatcher_qxl_ram_size(void);
int red_dispatcher_qxl_count(void);
+void red_dispatcher_async_complete(struct RedDispatcher*, uint64_t);
+
#endif