Hi,
diff --git a/server/spice.h b/server/spice.h index f64ff41..f0d5685 100644 --- a/server/spice.h +++ b/server/spice.h @@ -122,6 +122,17 @@ struct QXLWorker { void (*reset_cursor)(QXLWorker *worker); void (*destroy_surface_wait)(QXLWorker *worker, uint32_t surface_id); void (*loadvm_commands)(QXLWorker *worker, struct QXLCommandExt *ext, uint32_t count); + /* async versions of commands. when complete spice calls async_complete */ + void (*update_area_async)(QXLWorker *qxl_worker, uint32_t surface_id, + struct QXLRect *area, struct QXLRect *dirty_rects, + uint32_t num_dirty_rects, uint32_t clear_dirty_region); + void (*add_memslot_async)(QXLWorker *worker, QXLDevMemSlot *slot); + void (*destroy_surfaces_async)(QXLWorker *worker); + void (*destroy_primary_surface_async)(QXLWorker *worker, uint32_t surface_id); + void (*create_primary_surface_async)(QXLWorker *worker, uint32_t surface_id, + QXLDevSurfaceCreate *surface); + void (*destroy_surface_wait_async)(QXLWorker *worker, uint32_t surface_id); + void (*oom_async)(QXLWorker *worker);
I think it would be useful to pass in a magic cookie to the _async functions ...
+ void (*async_complete)(QXLInstance *qin);
... which will be passed back here, to make it easier for the caller to figure which async call was just finished? I'd suggest intptr_t or uint64_t as type.
While we are busy updating the interface: can we please also add a callback which is called by spice server each time it updates a surface in qxl device memory?
Oh, and the minor version of the qxl interface must be updated too. Likewise the minor version of the shared library.
cheers, Gerd _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel