summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Update for the SpicePath.segments type changeAlexander Larsson2010-07-013-3/+3
|
* Simplify SpiceLineAttr by removing unsed stuffAlexander Larsson2010-06-302-42/+5
| | | | Also in new protocol don't send style data if not needed.
* Store SpicePath segment count rather than sizeAlexander Larsson2010-06-303-23/+13
| | | | | | | | | | | | | | | | | | | Internally and in the network protocol (for the new version) we now store the actual number of segments rather than the size of the full segments array in bytes. This change consists of multiple changes to handle this: * Make the qxl parser calculate num_segments * Make the canvas stroke code handle the new SpicePath layout. * Fix up is_equal_path in red_worker.c for the new layout * replace multiple calls to spice_marshall_PathSegment with a single spice_marshall_Path call * Make the byte_size() array size handling do the conversion from network size to number of elements when marshalling/demarshalling. * Update the current spice protocol to send the segment count rather than the size * Update the old spice protocol to use the new byte_size functionallity to calculate the size sent and the number of elements recieved
* Add spice_marshaller_set_uint32Alexander Larsson2010-06-302-16/+31
| | | | | | | With this function you can update an added uint32 after it being added. To make this possible all the spice_marshaller_add_add_foo functions now return a pointer that can be used as a reference when later setting a value.
* qxl-abi: handle clip rect and path references.Gerd Hoffmann2010-06-302-15/+12
| | | | | | | | | | | | red_parse_qxl.c starts to follow QXLPHYSICAL references and build up data structures. Can zap a bunch of get_virt calls in red_worker.c, followed by cleanups. (de-) marshaller needs updates to deal with that. Also I suspect with the get_virt() calls being gone we can offload more work to generated marshaller code. client doesn't build.
* qxl abi: parse QXLCopy + QXLBlend.Gerd Hoffmann2010-06-292-4/+4
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLOpaque.Gerd Hoffmann2010-06-292-3/+3
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLFill.Gerd Hoffmann2010-06-292-2/+2
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* Remove support for clip by pathAlexander Larsson2010-06-243-15/+0
| | | | This is not supported currently anyway and was not generated before.
* fix use-after-free in spice_marshaller_resetGerd Hoffmann2010-06-231-2/+3
|
* Lossy compression of RGBA images (on WAN connection)Yonit Halperin2010-06-213-6/+107
| | | | | The RGB channels are compressed using JPEG. The alpha channel is compressed using LZ.
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-218-11/+71
|
* Make generated marshallers build on win32Alexander Larsson2010-06-182-0/+6
|
* Make sound data @as_ptr to avoid copying dataAlexander Larsson2010-06-181-2/+4
|
* Make ping data @as_ptr to avoid copying dataAlexander Larsson2010-06-181-0/+2
|
* Make cursor data @as_ptr to avoid copying dataAlexander Larsson2010-06-181-1/+2
|
* Make pointer types in messages be 64bit in memoryAlexander Larsson2010-06-181-2/+2
| | | | | | | | Right now we always assume pointers are stored as SPICE_ADDRESS, i.e. 64bit, independent on the size sent on the network. This is required for 64bit architectures of course, but slightly overkill on 32bit architectures, so needs fixing when all SPICE_ADDRESS elements can be made internal.
* Don't pack the message structuresAlexander Larsson2010-06-181-87/+83
|
* Make all message structs internal to spiceAlexander Larsson2010-06-181-0/+497
| | | | | | | We move all message structs from spice-protocol to spice as we want to be able to change these as needed internally. The on-network format is no longer defined by these structures anyway, but rather by the spice protocol description.
* Add SpiceMarshaller for easy marshallingAlexander Larsson2010-06-183-0/+648
|
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-185-97/+0
| | | | | | | | | | | | | | | | 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.
* There are multiple line attribute flags enums, use only oneAlexander Larsson2010-06-172-4/+4
|
* Add spice_strnlenAlexander Larsson2010-06-172-0/+14
|
* support for lossy images in the pixmap cache and fill bitsYonit Halperin2010-06-092-5/+61
| | | | | | 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-098-3/+115
|
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-2110-23/+23
|
* Use the new byteswap macros from spice-protocolAlexander Larsson2010-05-191-8/+2
|
* Add C version of find_msb()Gerd Hoffmann2010-05-031-1/+20
| | | | | | | This patch allows people to build the spice-client on any 32bit/64bit architecture. by Bryan Stillwell <bryan@bokeoa.com>
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-038-159/+158
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* win32 client: Remove unnecessary GDIImage typeAlexander Larsson2010-04-292-74/+40
| | | | We just use pixman_image_t as the "information about image data" structure.
* Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SETAlexander Larsson2010-04-281-2/+12
|
* Clear alpha in xRGB destination to avoid pixman setting it to 0xffAlexander Larsson2010-04-281-0/+66
| | | | | | | | | | Pixman sometimes sets the ignored high byte to 0xff during alpha blending. This is correct according to pixman specs, as the high byte is ignored. However its not what windows expects, and it causes unnecessary regions with non-zero high byte, causing us to send rgba data instead of rgb which compresses worse. So, we detect this and clear the high byte.
* Fix line lengths and tabsAlexander Larsson2010-04-281-6/+13
|
* fix two warningsGerd Hoffmann2010-04-261-0/+2
|
* Remove surface format workaround now that win32 driver is fixedAlexander Larsson2010-04-231-7/+0
| | | | | The win32 driver makes all 32bit surfaces be xRGB now, so we can remove this old workaround.
* Win32 canvas fixesAlexander Larsson2010-04-231-9/+9
|
* Support alpha surface sources and destinationsAlexander Larsson2010-04-233-18/+99
|
* Localize palettes for LZ PLT formatAlexander Larsson2010-04-231-3/+45
| | | | This is needed since they always decode to 32bit mode.
* Make each surface its own depth/formatAlexander Larsson2010-04-235-295/+242
| | | | | | | | 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-238-12/+110
| | | | | | | | | | | 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.
* common: Add lookaside storage for pixman image formatAlexander Larsson2010-04-232-1/+38
| | | | | Ideally we should just read this from the pixman image, but there is no API to do so in stable pixman, so we store it.
* Add pixman utilities for bitmap to pixman_image_t conversionAlexander Larsson2010-04-232-58/+775
|
* Add support for 16bit rop3Alexander Larsson2010-04-231-32/+75
|
* Remove unused method canvas_surf_to_inversAlexander Larsson2010-04-231-67/+17
|
* Fix warnings breaking win32 buildAlexander Larsson2010-04-231-3/+3
|
* spice: server: change update_area commandIzik Eidus2010-04-142-0/+26
| | | | | | | | 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-1332-282/+294
|
* Fix win32 build with pixman 0.18.0Alexander Larsson2010-04-122-2/+2
|
* fix 16bpp support on cairo_canvasIzik Eidus2010-04-121-3/+30
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Always tread depth 24 (i.e. non alpha) as depth 32 when blittingAlexander Larsson2010-04-121-8/+22
| | | | | When blitting we don't really care about alpha mismatches, we just copy bits anyway.