summaryrefslogtreecommitdiffstats
path: root/server/red_dispatcher.c
Commit message (Collapse)AuthorAgeFilesLines
* server/red_dispatcher: fix wrong resolution set for tabletAlon Levy2011-07-311-4/+4
| | | | | | | | | | | when changing resolutions due to the new async code paths the surface creation command was kept by reference, and later, when the red_worker signaled completion by calling async_complete the mouse mode was updated using the reference. This caused the wrong values to be read resulting in wrong resolutions set and a non working mouse pointer. Fix this by keeping a copy of the surface creation command instead of a reference. No bz. Found in testing.
* server: add QXLWorker.flush_surfaces_async for S3/S4 supportAlon Levy2011-07-211-0/+20
| | | | | | | | | | | | 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-40/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* use foo(void) instead of foo() in prototypesChristophe Fergeau2011-07-211-7/+7
| | | | | | | | In C, the latter isn't a prototype for a function with no arg, but declares a function with an undefined number of args. [picked from master with changes since no main_channel, spice_common, and a bunch of functions aren't there yet]
* server: api: add spice_qxl_* calls based on QXLWorker contentsAlon Levy2011-07-211-31/+191
| | | | | | | | | | | For each callback in QXLWorker, for example QXLWorker::update_area, add a direct call named spice_qxl_update_area. This will (a) remove the pointless indirection and (b) make shared library versioning alot easier as we'll get new linker symbols which we can tag with the version they appeared in the shared library. [cherry-picked from master]
* server: rename s/peer/streamMarc-André Lureau2011-07-211-4/+4
| | | | | | | | This is stylish change again. We are talking about a RedStream object, so let's just name the variable "stream" everywhere, to avoid confusion with a non existent RedPeer object. https://bugs.freedesktop.org/show_bug.cgi?id=34795
* server: s/RedsStreamContext/RedsStreamMarc-André Lureau2011-07-211-4/+4
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=34795
* server: enabling/disabling jpeg and zlib-over-glz via spice command line argsYonit Halperin2010-07-121-0/+4
|
* server: Remove unnecessary pci id/rev checksAlexander Larsson2010-07-081-7/+0
| | | | | | There is no need to check the pci ids or revisions. Thats a contract between qemu and the driver, and spice need not care, as long as we get the right data from qemu.
* - fix for noopengl patch for serverAlon Levy2010-07-011-0/+4
| | | | | | | | I still don't have commit access (can't ssh to anarchy) so if someone could commit this (alex) thanks, Alon Fix for no opengl patch - required to compile the server (fixes missing symbol gl_canvas_init).
* server: Don't call opengl if not enabledAlexander Larsson2010-06-291-0/+2
| | | | | If USE_OGL is not defined, really don't call or link in the opengl backend.
* qxl abi: parse QXLRect.Gerd Hoffmann2010-06-291-1/+17
|
* RedWorkeMessage -> RedWorkerMessageAlexander Larsson2010-05-211-25/+25
|
* zap vd_interface.hGerd Hoffmann2010-05-191-1/+1
| | | | move over content to spice.h
* replace worker load/save with loadvm_commands, allow keeping surface contentGerd Hoffmann2010-05-191-18/+11
| | | | | | | | | | | | | | | 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-18/+18
|
* VDInterface: redesign.Gerd Hoffmann2010-05-191-4/+4
| | | | | | | | | | | | VDInterface has been renamed to SpiceBaseInterface. Dropped base_version element, shlib versioning should be used instead. Dropped id element, it is passed to spice_server_add_interface() instead. Now SpiceBaseInterface has static information only, multiple interface instances can share it. Added SpiceBaseInstance struct for maintaining per-instance state information. Adapted spice_server_{add,remove}_interface() functions to the new world.
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-3/+3
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* spice: server: change update_area commandIzik Eidus2010-04-141-1/+8
| | | | | | | | The new command return dirty area to be used by users that want spice to render localy or into some framebuffer (sdl / vnc) Signed-off-by: Izik Eidus <ieidus@redhat.com>
* 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>
* Use spice allocator in server/Alexander Larsson2010-03-111-12/+4
|
* new libspice api: make image_compression_t part of the public api.Gerd Hoffmann2010-03-091-3/+4
|
* Use the new header namesAlexander Larsson2010-02-041-1/+1
| | | | | | I just ran: find -name "*.[ch]" | xargs sed -i -f ../spice-protocol/includes.sed find -name "*.cpp" | xargs sed -i -f ../spice-protocol/includes.sed
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-2/+2
| | | | | | This is an automatic change using: $ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames $ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
* libspice: add surface 0 supportIzik Eidus2010-01-281-30/+81
| | | | | | This include alot of infestracture for off screens. Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice: fix server crush in case connecting without qxl deviceIzik Eidus2009-12-241-0/+3
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice server: heuristic for distinguishing between "real" videos and textual ↵Yonit Halperin2009-11-301-1/+2
| | | | streams
* spice: server: add memslots support.Izik Eidus2009-11-231-0/+38
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* fresh startYaniv Kamay2009-10-141-0/+479