summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add SpiceMarshaller for easy marshallingAlexander Larsson2012-03-203-0/+648
|
* Client: Use the autogenerated demarshallersAlexander Larsson2012-03-205-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.
* Add python code to automake systemAlexander Larsson2012-03-202-0/+171
|
* Initial import of spice protocol description and demarshall generatorAlexander Larsson2012-03-206-0/+3595
| | | | | | 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.
* There are multiple line attribute flags enums, use only oneAlexander Larsson2012-03-202-4/+4
|
* Add spice_strnlenAlexander Larsson2012-03-202-0/+14
|
* support for lossy images in the pixmap cache and fill bitsYonit Halperin2012-03-202-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 Halperin2012-03-208-3/+115
|
* Fix spelling errors in comments and stringsAlexander Larsson2012-03-2010-23/+23
|
* Use the new byteswap macros from spice-protocolAlexander Larsson2012-03-201-8/+2
|
* Add C version of find_msb()Gerd Hoffmann2012-03-201-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 Larsson2012-03-208-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 Larsson2012-03-202-74/+40
| | | | We just use pixman_image_t as the "information about image data" structure.
* Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SETAlexander Larsson2012-03-201-2/+12
|
* Clear alpha in xRGB destination to avoid pixman setting it to 0xffAlexander Larsson2012-03-201-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 Larsson2012-03-201-6/+13
|
* fix two warningsGerd Hoffmann2012-03-201-0/+2
|
* Remove surface format workaround now that win32 driver is fixedAlexander Larsson2012-03-201-7/+0
| | | | | The win32 driver makes all 32bit surfaces be xRGB now, so we can remove this old workaround.
* Win32 canvas fixesAlexander Larsson2012-03-201-9/+9
|
* Support alpha surface sources and destinationsAlexander Larsson2012-03-203-18/+99
|
* Localize palettes for LZ PLT formatAlexander Larsson2012-03-201-3/+45
| | | | This is needed since they always decode to 32bit mode.
* Make each surface its own depth/formatAlexander Larsson2012-03-205-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 Larsson2012-03-208-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 Larsson2012-03-202-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 Larsson2012-03-202-58/+775
|
* Add support for 16bit rop3Alexander Larsson2012-03-201-32/+75
|
* Remove unused method canvas_surf_to_inversAlexander Larsson2012-03-201-67/+17
|
* Fix warnings breaking win32 buildAlexander Larsson2012-03-201-3/+3
|
* spice: server: change update_area commandIzik Eidus2012-03-202-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 Larsson2012-03-2032-282/+294
|
* Fix win32 build with pixman 0.18.0Alexander Larsson2012-03-202-2/+2
|
* fix 16bpp support on cairo_canvasIzik Eidus2012-03-201-3/+30
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Always tread depth 24 (i.e. non alpha) as depth 32 when blittingAlexander Larsson2012-03-201-8/+22
| | | | | When blitting we don't really care about alpha mismatches, we just copy bits anyway.
* spice: win32 client: fix gdi lockingIzik Eidus2012-03-202-47/+112
| | | | | | | | | | | While the fix could have been more effective, it seems like this patch stream better with the coding logic that was there..., maybe later we will want to change the locking into more effective way. (There is just the primary surface to protect in reiality) Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Initialize _kill_mark so we don't get spurious valgrind warningsAlexander Larsson2012-03-202-16/+0
|
* Remove non-used lookup3.[ch]Alexander Larsson2012-03-203-798/+0
|
* spice: common: gdi_canvas fix gdi objects leakIzik Eidus2012-03-201-0/+1
| | | | | | | | | | | BitmapMask was used by the draw_text function as well therefore we need to mark from_surface = 0 if we want it to release the boject... (Was evil, took me few hours to understand from where the leak come...) Signed-off-by: Izik Eidus <ieidus@redhat.com>
* libspice: add off screens supportIzik Eidus2012-03-208-392/+1086
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Add spice_strndupAlexander Larsson2012-03-202-0/+19
| | | | Also, make str(n)dup handle NULL correctly
* Fix uninitilized memory read in stroke_fill_spans()Alexander Larsson2012-03-201-0/+3
| | | | y2 was not initialized
* Use nearest scaling for DRAW_ALPHA_BLEND since this is what win32 needsAlexander Larsson2012-03-201-1/+1
| | | | | DrvAlphaBlend is the only current user of DRAW_ALPHA_BLEND, and its defined to do nearest (COLORONCOLOR) scaling, not bilinear.
* Fix up empty region checks in canvas operationsAlexander Larsson2012-03-202-10/+10
| | | | | | | We rely on not passing on empty rects to the drawing operations by checking for empty regions and exiting early. However the checks were wrongly using pixman_region32_n_rects(region) == 0, whereas we should be using pixman_region32_not_empty().
* Use the spice allocator in common/Alexander Larsson2012-03-209-116/+62
|
* New memory allocators that exit on OOM and handle multiplication overflowAlexander Larsson2012-03-202-0/+232
| | | | | | | | | Every place that does a regular malloc/calloc and aborts on failure should use spice_malloc/spice_mallo0 instead, which is leaner and cleaner. Allocations of dynamically sized arrays can use g_malloc_n or g_new etc which correctly handle multiplication overflow if some of the arguments are not trusted.
* Define GL_GLEXT_PROTOTYPES in CFLAGS not in random places in the sourceAlexander Larsson2012-03-201-2/+0
|
* Update gdi canvas wrt latest changesAlexander Larsson2012-03-201-2/+2
| | | | ALIGN -> SPICE_ALIGN
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2012-03-209-75/+19
|
* Move draw_rop3 to canvas_baseAlexander Larsson2012-03-202-96/+94
|
* Move canvas_draw_stroke to canvas_baseAlexander Larsson2012-03-202-455/+450
|
* Move most of the shared draw_xyz() methods from CairoCanvas to CanvasBaseAlexander Larsson2012-03-203-932/+1039
| | | | | | This adds a set of virtual methods for low-level operations. A subclass can choose to implement those and let the default CanvasBase implementations handle the highlevel stuff.