summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add SpiceMarshaller for easy marshallingAlexander Larsson2010-06-184-0/+649
|
* Generate demarshalling code on win32 tooAlexander Larsson2010-06-181-13/+50
|
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-1820-450/+235
| | | | | | | | | | | | | | | | When a message has been read from the network we now pass it into the generated demarshaller for the channel. The demarshaller converts the network data to in-memory structures that is passed on to the spice internals. Additionally it also: * Converts endianness * Validates sizes of message and any pointers in it * Localizes offsets (converts them to pointers) * Checks for zero offsets in messages where they are not supported Some of this was previously done using custom code in the client, this is now removed.
* Generate demarshallers in clientAlexander Larsson2010-06-182-2/+12
|
* Add python code to automake systemAlexander Larsson2010-06-184-1/+10
|
* Initial import of spice protocol description and demarshall generatorAlexander Larsson2010-06-187-0/+3760
| | | | | | The "spice.proto" file describes in detail the networking prototcol that spice uses and spice_codegen.py can parse this and generate demarshallers for such network messages.
* Use the correctly spelled enum values from the new generated enumsAlexander Larsson2010-06-182-2/+2
|
* Use the new enums for keyboard modifier flagsAlexander Larsson2010-06-182-7/+9
|
* There are multiple line attribute flags enums, use only oneAlexander Larsson2010-06-172-4/+4
|
* Add spice_strnlenAlexander Larsson2010-06-172-0/+14
|
* server: optimize red_pipe_replace_rendered_drawables_with_images (lossy ↵Yonit Halperin2010-06-091-6/+90
| | | | bitmaps support related)
* init/destroy lossy surface regionYonit Halperin2010-06-091-0/+2
|
* enabling jpeg on low bandwidth connectionYonit Halperin2010-06-091-16/+17
|
* not using jpeg when sending a surface to the client (the whole surface)Yonit Halperin2010-06-091-1/+3
| | | | | | When a surface is sent to the client using red_send_surface_image, operations were already performed on it. Thus it may combine, especially if it is a primary surface, both "picture-like" areas and areas that are more "artificial". In order to avoid noticeable artifacts, such surface will be sent lossless.
* send qxl commands to client: support for resending lossy components when ↵Yonit Halperin2010-06-091-16/+639
| | | | jpeg compression is enabled
* infrastructure routines for resending to the client part of surfaces that ↵Yonit Halperin2010-06-091-28/+306
| | | | | | | have been sent lossy. The code also handles cases in which the server doesn't hold anymore these surfaces parts, i.e., when it holds a more updated version of them. This scenario is handled by replacing commands that were rendered, with images.
* introducing lossy and lz compression in red_send_imageYonit Halperin2010-06-091-2/+53
|
* lossy surface regions in the client: infrastructure for tracking and updatingYonit Halperin2010-06-091-0/+160
|
* support for lossy images in the pixmap cache and fill bitsYonit Halperin2010-06-097-39/+241
| | | | | | 1) add an option to determine if a bitmap can be sent lossy to the client 2) when required, replacing lossy cache items with their correspending lossless bitmaps
* JPEG support: introducing jpeg encoding for spice bitmapsYonit Halperin2010-06-0923-45/+956
|
* server: fix bitmap flags assignment in red_send_imageYonit Halperin2010-06-091-2/+2
|
* client: Only invalidate on screen if drawing to the primary surfaceAlexander Larsson2010-06-091-2/+6
|
* sound: code style fixupsGerd Hoffmann2010-05-261-2/+4
|
* Fix some misspelled identifiersAlexander Larsson2010-05-215-30/+30
| | | | | | | | | severty -> severity SpiceResorceID -> SpiceResourceID SpiceResorceList -> SpiceResourceList resorces -> resources ped_size -> pad_size postition -> position
* RedWorkeMessage -> RedWorkerMessageAlexander Larsson2010-05-213-38/+38
|
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-2138-133/+133
|
* sound channels: restart audio on client reconnect.Gerd Hoffmann2010-05-211-1/+15
|
* Use the new byteswap macros from spice-protocolAlexander Larsson2010-05-191-8/+2
|
* Change leftover VD_INTERFACE_RECORD to SPICE_INTERFACE_RECORDAlexander Larsson2010-05-191-1/+1
|
* Add missing backslash continuation in makefileAlexander Larsson2010-05-191-1/+1
|
* Revert "[debug] migration troubleshooting"Gerd Hoffmann2010-05-192-2/+2
| | | | This reverts commit 08927fabe57c17086fe3bce3a9ca166e2309349e.
* complete NetWireInterface redesign, make red_tunnel_worker.c build.Gerd Hoffmann2010-05-193-16/+20
|
* add spice-experimental.hGerd Hoffmann2010-05-195-65/+66
| | | | | | | | Supposed to be used for work-in-progress bits, where interfaces are not finalized yet. Moved over vdi port interface, tunnel interface and spice client migration functions.
* zap vd_interface.hGerd Hoffmann2010-05-199-370/+349
| | | | move over content to spice.h
* vd_interface.h cleanups.Gerd Hoffmann2010-05-193-54/+3
| | | | | Drop leftover bits which are not used any more. Rename DrawArea to QXLDrawArea.
* NetWireInterface: redesignGerd Hoffmann2010-05-194-19/+30
|
* zap MigrationInterfaceGerd Hoffmann2010-05-192-27/+0
| | | | Remove remaining MigrationInterface bits.
* migration: new apiGerd Hoffmann2010-05-193-39/+87
| | | | Add new API for migration, based on what RHEL-6 has.
* [debug] migration troubleshootingGerd Hoffmann2010-05-192-2/+2
|
* zap migration codeGerd Hoffmann2010-05-192-638/+11
| | | | Drop all code which depends on accessing the migration file handle.
* replace worker load/save with loadvm_commands, allow keeping surface contentGerd Hoffmann2010-05-194-101/+59
| | | | | | | | | | | | | | | 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).
* surface: keep metadata (aka create command) in device memory.Gerd Hoffmann2010-05-191-17/+18
| | | | | | | | | | | With this patch applied the spice server will not release surface create commands for the whole lifecycle of the surface. When the surface is destroyed both create and destroy commands are released. This has the effect that the surface metadata (size, depth, ...) is kept in qxl device memory. This in turn makes it alot easier for qemu to handle savevm/loadvm. It just needs to do some minimal command parsing and maintain pointers to the create commands for the active surfaces.
* kill spice_server_set_mouse_absoluteGerd Hoffmann2010-05-192-11/+0
| | | | Not needed. Just register/unregister the tablet interface instead.
* vdi port: redesign.Gerd Hoffmann2010-05-192-57/+71
| | | | | | | | | | | | Pretty straight forward. One thing we should think about is if and how we are going to deal with multiple ports here? With vdi port using virtio-serial as communication channel to the guest it is easy to have multiple ports, i.e. we might want to use a second instance for clipboard data. That implies that we need support for multiple channels all the way through the stack ...
* constify SpiceBaseInterfaceGerd Hoffmann2010-05-192-3/+3
|
* SoundInterfaces: redesignGerd Hoffmann2010-05-194-141/+141
|
* TabletInterface: redesignGerd Hoffmann2010-05-193-25/+47
|
* QXL: redesign.Gerd Hoffmann2010-05-198-69/+82
|
* MouseInterface: redesignGerd Hoffmann2010-05-193-19/+40
|
* KeyboardInterface: redesign.Gerd Hoffmann2010-05-194-44/+63
| | | | | | | | | This is the direction I wanna take with all interfaces: Clearly separate interface (aka version information and function pointers) and state information. SpiceKbdInterface defines the interface, SpiceKbdInstance maintains per-instance state information. Keyboard hasn't much beside a pointer to SpiceKbdInterface, for other interfaces this very likely will be different.