diff options
author | Alon Levy <alevy@redhat.com> | 2011-07-06 02:12:19 +0200 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2011-07-20 16:00:19 +0300 |
commit | 096f49afbf4e83ccee80f58479b3ff05bd355660 (patch) | |
tree | 7f8df1ea290e3ed23b0a34a82ae0f22aaf8cbc38 /server/red_dispatcher.h | |
parent | 4db8f5efdda91acf3b94c6c104d48438f6f4e85d (diff) | |
download | spice-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.h | 3 |
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 |