summaryrefslogtreecommitdiffstats
path: root/server/red_worker.c
Commit message (Collapse)AuthorAgeFilesLines
...
* server: Don't call opengl if not enabledAlexander Larsson2010-06-291-0/+4
| | | | | If USE_OGL is not defined, really don't call or link in the opengl backend.
* remove unnecessary send of SPICE_MSG_DISPLAY_RESETYonit Halperin2010-06-291-3/+0
| | | | | | | when SPICE_MSG_DISPLAY_RESET was sent, SPICE_MSG_DISPLAY_SURFACE_DESTROY had already been sent for all surfaces. It also caused a client crash since DisplayChannel::handle_reset assumes that screen exists.
* qxl abi: parse QXLCursorCmd.Gerd Hoffmann2010-06-291-22/+24
|
* qxl abi: parse QXLSurfaceCmd.Gerd Hoffmann2010-06-291-10/+13
|
* qxl abi: parse QXLMessage.Gerd Hoffmann2010-06-291-4/+10
|
* qxl abi: parse QXLUpdateCmd.Gerd Hoffmann2010-06-291-9/+9
|
* qxl abi: parse QXLCopy + QXLBlend.Gerd Hoffmann2010-06-291-3/+3
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLOpaque.Gerd Hoffmann2010-06-291-1/+1
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLFill.Gerd Hoffmann2010-06-291-1/+1
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLCompatDrawable.Gerd Hoffmann2010-06-291-2/+7
|
* qxl abi: parse QXLDrawable.Gerd Hoffmann2010-06-291-161/+165
|
* Remove support for clip by pathAlexander Larsson2010-06-241-32/+18
| | | | This is not supported currently anyway and was not generated before.
* drop bogous get_virt_delta callsGerd Hoffmann2010-06-231-8/+2
|
* Add destructor for demarshalled messagesAlexander Larsson2010-06-221-2/+3
| | | | | | | This is required because we don't want to free messages that just refer to the unparsed message (like SpiceMsgData). Also, in the future we might need it for more complex demarshalling.
* fix for not reseting client palette caches on migrationYonit Halperin2010-06-211-0/+2
|
* Lossy compression of RGBA images (on WAN connection)Yonit Halperin2010-06-211-27/+117
| | | | | The RGB channels are compressed using JPEG. The alpha channel is compressed using LZ.
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-211-14/+142
|
* Use generated demarshallers in serverAlexander Larsson2010-06-181-31/+44
|
* Re-enable cache freeingAlexander Larsson2010-06-181-1/+1
| | | | I don't know why this was disabled but it seems like a bad idea
* Convert red_worker.c to use SpiceMarshaller for marshallingAlexander Larsson2010-06-181-781/+997
|
* 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-091-27/+59
| | | | | | 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-091-37/+272
|
* server: fix bitmap flags assignment in red_send_imageYonit Halperin2010-06-091-2/+2
|
* Fix some misspelled identifiersAlexander Larsson2010-05-211-14/+14
| | | | | | | | | severty -> severity SpiceResorceID -> SpiceResourceID SpiceResorceList -> SpiceResourceList resorces -> resources ped_size -> pad_size postition -> position
* RedWorkeMessage -> RedWorkerMessageAlexander Larsson2010-05-211-8/+8
|
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-211-15/+15
|
* 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-77/+46
| | | | | | | | | | | | | | | 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.
* QXL: redesign.Gerd Hoffmann2010-05-191-19/+19
|
* server: fix invalid self loop in surfaces dependencies.Yonit Halperin2010-05-031-5/+22
| | | | | Cyclic dependencies between surfaces mustn't occur. They can cause invalid rendering - recent drawables might be rendered before older ones.
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-2/+2
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Don't send alpha bytes for primary surfaceAlexander Larsson2010-04-301-2/+8
| | | | | The framebuffer is not used as a source for alpha blends, so we never need to scan it for alpha bytes.
* iovec: add sanity checkGerd Hoffmann2010-04-291-2/+8
| | | | | | | | Adds sanity check to iovec setup. In theory this should never ever trigger. In practice guest driver bugs can make it trigger. This patch avoids qemu burning cpu in a endless loop, instead we'll print a message and abort. Not sure whenever there is a more graceful way to handle the situation ...
* fix worker->stop surface cleanupGerd Hoffmann2010-04-291-1/+1
|
* Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SETAlexander Larsson2010-04-281-10/+38
|
* If we have alpha in a 32bit rgb surface, ensure we send thatAlexander Larsson2010-04-231-0/+30
| | | | | If we don't then alpha is lost which is problematic if the surface is later used as with alpha_blend and SRC_SURFACE_HAS_ALPHA.
* Server: Use the right image format when updating from a surfaceAlexander Larsson2010-04-231-22/+31
|
* Make each surface its own depth/formatAlexander Larsson2010-04-231-18/+32
| | | | | | | | Surface creation now specifies the exact format, not only the bit depth of each surface which is used for rendering. Additionally we now actually store the surfaces in that format, instead of converting everything to 32bpp when drawing or e.g. handling palettes.
* Make client canvas and pixmaps handle more formats and simplifyAlexander Larsson2010-04-231-23/+10
| | | | | | | | | | | We now support 16bit format pixmaps as well as the old ones. Including both 555 and 565 modes. We drop the palette argument for pixmap construction as it was only used for black/white anyway. Canvas creation is simplified so that there is no separate set_mode state. Canvases are already created in the right mode and never change.
* spice: server: change update_area commandIzik Eidus2010-04-141-6/+27
| | | | | | | | 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
|