summaryrefslogtreecommitdiffstats
path: root/server/red_worker.h
Commit message (Collapse)AuthorAgeFilesLines
* server: add QXLWorker.flush_surfaces_async for S3/S4 supportAlon Levy2011-07-211-0/+2
| | | | | | | | | | | | This does the following, all to remove any referenced memory on the pci bars: flush_all_qxl_commands(worker); flush_all_surfaces(worker); red_wait_outgoing_item((RedChannel *)worker->display_channel); red_wait_outgoing_item((RedChannel *)worker->cursor_channel); The added api is specifically async, i.e. it calls async_complete when done. (cherry picked from commit 2a4d97fb780cf3ce2d9060751d0bec2fdc9800a9)
* server: add async io supportAlon Levy2011-07-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit 096f49afbf4e83ccee80f58479b3ff05bd355660)
* server: enabling/disabling jpeg and zlib-over-glz via spice command line argsYonit Halperin2010-07-121-0/+2
|
* RedWorkeMessage -> RedWorkerMessageAlexander Larsson2010-05-211-5/+5
|
* replace worker load/save with loadvm_commands, allow keeping surface contentGerd Hoffmann2010-05-191-2/+1
| | | | | | | | | | | | | | | Add worker->loadvm_commands. qemu will uses this to send a series of commands needed to restore state after savevm/loadvm and migration. That will be one create-surface command per surface and one cursor-set command for the local pointer. The worker->save/load functions are not needed any more. Likewise the interface->{get,set}_save_data callbacks. Surfaces created via loadvm_commands *will* not be cleared. Also primary surfaces are not cleared any more (unconditionally, although we could do that conditionally on loadvm using the flags field in QXLSurfaceCreate).
* QXL: redesign.Gerd Hoffmann2010-05-191-1/+1
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-1/+1
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* libspice: add off screens supportIzik Eidus2010-04-031-0/+1
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* new libspice api: make image_compression_t part of the public api.Gerd Hoffmann2010-03-091-1/+1
|
* libspice: add surface 0 supportIzik Eidus2010-01-281-2/+8
| | | | | | This include alot of infestracture for off screens. Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice: server: add memslots support.Izik Eidus2009-11-231-0/+6
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* fresh startYaniv Kamay2009-10-141-0/+134