summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* common/sw_canvas: remove unused error valAlon Levy2011-01-271-2/+1
| | | | | | | | | | | This is the only unused var change I'll want to revisit eventually, I'm submitting anyway since it doesn't change current behavior. I'm talking about ignoring the return value from canvas creation. Adding a print is possible but I didn't test (may be too verbose, also preferable to be a debug print if so, and we don't have that option in the code atm - probably an environment variable will do, or adding some spice_server_set_logging_level api, maybe even spice_server_set_logging_fd?)
* common/canvas_base.c: remove unused variablesAlon Levy2011-01-271-12/+0
|
* common, canvas_get_jpeg_alpha: let top_down be any valueAlon Levy2011-01-171-1/+1
| | | | | | | Allow top_down flag to have any value, only ASSERT it is positive when needs to be positive and zero otherwise. Allows older server bug of sending 4 instead of 1 in top down flag to not affect newer clients (previous patch fixes server).
* Initialize variable to avoid compiler warningAlexander Larsson2010-09-291-1/+1
| | | | Seems the OSX gcc warns on saveRight not being initialzied.
* Handle surface images in DrawOpaqueAlexander Larsson2010-09-221-19/+42
|
* Fix crash when resetting pixman image transformAlexander Larsson2010-09-211-1/+2
| | | | | Resetting the transform is done by setting it to the identity transform, not passing in NULL. Passing in NULL causes a crash.
* Fix scaling with large magnificationAlexander Larsson2010-08-311-20/+16
| | | | | | | | | | | | | | When scaling part of an image we need to specify the source coordinates in transformed coordinates. For large magnifications this means we will get pretty large values. Now, if e.g. src_x * transform is larger than 32765, then the coordinate ends up outside the pixman 16bit image size, so the rendering will not work. The fix is to make the src_x/y offset part of the transformation. This means its automatically transformed by the correct scaling, and the coordinates passed into pixman are not (typically) over 16bit.
* Revert "Fix scaling with large magnification"Alexander Larsson2010-08-311-104/+32
| | | | This reverts commit e13be77f33609cb3fdae354ce1f2686ae865f9e0.
* Fix scaling with large magnificationAlexander Larsson2010-08-301-32/+104
| | | | | | | | | | | | | | When scaling part of an image we need to specify the source coordinates in transformed coordinates. For large magnifications this means we will get pretty large values. Now, if e.g. src_x * transform is larger than 32765, then the coordinate ends up outside the pixman 16bit image size, so the rendering will not work. In order to work around this we generate a "sub-image" of the pixman image such that the src_x/y values we have to specify are zero (or near zero).
* canvas: Better coordinate rounding in scalingAlexander Larsson2010-08-271-28/+36
| | | | | | | | | | | | | When scaling in pixman you give the source coordinates in transformed space rather than in the source coordinates. This is a bit problematic when both source and destination coordinates are at integer positions, but the scaling factor is not an exact 16.16 fixed point value. We used to calculate the transformed source based on the floating point transformation, which gave the wrong answer sometimes. Now we do the calculations based on the fixed point transform that we give pixman. However, even with this patch I can still sometimes see issues related to this, although they are less bad.
* server: Fix alloc_lz_image_surface stride allocationsAlexander Larsson2010-08-261-1/+1
| | | | | All lz surfaces are not 4 bytes per pixel, calculate the right stride based on the pixman format.
* Stride can be negative, so don't use size_t for itAlexander Larsson2010-08-182-2/+2
|
* Don't send padding over the network with video dataAlexander Larsson2010-07-201-1/+0
|
* codegen: Various cleanupsAlexander Larsson2010-07-191-11/+12
| | | | | | | | | | | | Remove all uses of @end in the marshaller, instead just using the C struct array-at-end-of-struct. To make this work we also remove all use of @end for switches (making them C unions). We drop the zero member of the notify message so that we can avoid this use of @end for a primitive in the marshaller (plus its useless to send over the wire). We change the offsets and stuff in the migration messages to real pointers.
* canvas_base jpeg_alpha: supply the correct size to jpeg_decoderYonit Halperin2010-07-151-1/+1
|
* Add files i forgot to commitAlexander Larsson2010-07-092-0/+15
|
* Make distcheck workAlexander Larsson2010-07-082-8/+8
|
* Fix various misspellingsAlexander Larsson2010-07-086-7/+7
| | | | | | | | | | | | | letancy -> latency compund -> compound SpicedSubMessage -> SpiceSubMessage modifaiers -> modifiers massage -> message outgoiong -> outgoing AlphaBlnd -> AlphaBlend remoth -> remote modifires -> modifiers secore -> secure
* Fix sign warnings from win32 compilerAlexander Larsson2010-07-082-3/+3
|
* Fix inclusion of common files, no need for common/ partAlexander Larsson2010-07-0811-11/+11
|
* Simplify spice_pixman_region32_init_rects with new typesAlexander Larsson2010-07-081-28/+2
| | | | | Don't manually of SpiceRects to pixman_box32_t now that they are compatible and SpiceRect is internal.
* Make all internal structures not be packedAlexander Larsson2010-07-081-37/+33
|
* Move SpiceChunks to mem.hAlexander Larsson2010-07-083-19/+19
|
* Move in spice/draw.h from spice-protocol to common/Alexander Larsson2010-07-0815-13/+305
|
* Properly parse QXLLineAttrs.styleAlexander Larsson2010-07-082-3/+2
|
* Properly parse QXLImage to the new-world SpiceImageGerd Hoffmann2010-07-076-219/+92
| | | | | SpiceImage now replaces RedImage and has all image types in it. All image data are now chunked (and as such not copied when demarshalling).
* Add spice_marshaller_add_ref_chunksAlexander Larsson2010-07-072-0/+12
|
* Add spice_chunks_* helpersAlexander Larsson2010-07-072-0/+64
|
* Convert SpicePath.segments to a pointer arrayAlexander Larsson2010-07-053-27/+19
|
* Properly parse and marshall SpiceStringGerd Hoffmann2010-07-021-19/+4
|
* Fix build on win32Alexander Larsson2010-07-012-20/+20
|
* 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.