summaryrefslogtreecommitdiffstats
path: root/server
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-232-19/+33
| | | | | | | | 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-143-9/+39
| | | | | | | | 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-1330-282/+282
|
* Use fast DCT method for better jpeg compression performanceAlexander Larsson2010-04-121-0/+1
|
* spice server: fix validate_chunkIzik Eidus2010-04-121-0/+1
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* take the right lock when freeing glz stuff of surfacesIzik Eidus2010-04-091-2/+2
| | | | | | this was noticed by Yonit. Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Split out the memslot stuff from red_worker.c to its own filesAlexander Larsson2010-04-094-289/+405
| | | | | This is required so that we can have code in other files that does address validation.
* server: fix race condition in lz global dictionary, in its image segments listYonit Halperin2010-04-091-21/+34
|
* Initialize _kill_mark so we don't get spurious valgrind warningsAlexander Larsson2010-04-085-353/+349
|
* spice server: fix not sent depth size for surfacesIzik Eidus2010-04-081-0/+1
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* server configuration: make network redirection support optionalYonit Halperin2010-04-062-3/+17
| | | | | By default it is disabled. To enable: configure --enable-tunnel. When active, requires libslirp.
* spice server: try to be less brutal when changing res or when flushing the treeIzik Eidus2010-04-061-0/+5
| | | | | | | | | | | | The idea is that we can try to defer some stuff to be later send in the pipe if the pipe is not fulled yet, moreover we will then walk on the pipe using: red_clear_surface_drawables_from_pipe() and will try to remove the uneeded objects of this surface Still some room to improvment but later... Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice server: remove surface_id and surfaces_dest[3] from guest memIzik Eidus2010-04-061-74/+68
| | | | | | | | | Validate the surface_ids just once and keep them in safe memory area Make things simpler Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice-server: when destroying a surface don`t send uneeded itemsIzik Eidus2010-04-051-1/+43
| | | | | | | Just skip the items of destroyed surface that are found in the pipe before we skip them, we check if they are needed by other users... Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice-server: remove glz objects related to surface when destroying a surfaceIzik Eidus2010-04-051-2/+32
| | | | | | | make the surface released faster in the release ring as well as clean unneeded reference into the glz Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice: reds: fix uninitlized pointerIzik Eidus2010-04-051-1/+1
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* libspice: add off screens supportIzik Eidus2010-04-034-152/+604
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* spice server: surface create/destroy protocol supportIzik Eidus2010-04-031-57/+167
| | | | | | | | | | | Now we can send commands from the server to the client to destroy surfaces (right now just the primary surface) Needed for offscreens support) Another patch`s on the way. Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Rename .so spice-server.soAlexander Larsson2010-03-241-6/+6
| | | | | | | Also change include dir to "spice-server" for consistency. libspice.so conflicted with the tclspice package, and its also a clarification for when we create a spice client library.
* Get rid of more out-of-memory checksAlexander Larsson2010-03-241-47/+9
| | | | We already check this in spice_malloc now
* spice: server: Being more permissive in video identificationYonit Halperin2010-03-241-17/+29
| | | | | | In 'filter' video streaming mode, use a more permissive threshold for distinguishing 'realistic' streams from 'textaul'/'artificial' streams. The previous threshold classified streams that were scaled on the guest as artificial and thus they were not recoginized as videos.
* spice: server: avoid video streaming of small imagesYonit Halperin2010-03-241-0/+12
| | | | | | I added a lower limit to the size of images that are being streamed. The limit is only active in "filter" video streaming mode. This will prevent blurry animated icons.
* Fix uninitilized memory read in stroke_fill_spans()Alexander Larsson2010-03-181-2/+7
| | | | y2 was not initialized
* new libspice api: spice_server_add_get_{sock, peer}_info()Gerd Hoffmann2010-03-182-0/+28
|
* new libspice api: spice_server_add_renderer()Gerd Hoffmann2010-03-182-1/+16
|
* Use spice allocator in server/Alexander Larsson2010-03-119-328/+102
|
* New memory allocators that exit on OOM and handle multiplication overflowAlexander Larsson2010-03-111-0/+1
| | | | | | | | | 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.
* Revert "Fix possible quic_usr_more_lines_unstable() crash"Alexander Larsson2010-03-101-8/+2
| | | | | | This reverts commit 34e6a0a0d539fb49a03ec01bf11be505c88fcaa1. Turns out this wasn't needed and the crash was due to other changes.
* new libspice api: add spice_server_set_mouse_absolute()Gerd Hoffmann2010-03-092-0/+11
|
* new libspice api: add spice_server_set_channel_security()Gerd Hoffmann2010-03-092-0/+17
|
* new libspice api: make spice_channel_name_t part of the public api.Gerd Hoffmann2010-03-092-33/+35
|
* new libspice api: add spice_server_{get, set}_image_compression()Gerd Hoffmann2010-03-092-0/+18
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* new libspice api: make image_compression_t part of the public api.Gerd Hoffmann2010-03-096-56/+61
|
* new libspice api: configure listen addr, add ipv6 supporGerd Hoffmann2010-03-092-39/+74
|
* new libspice api: configure tlsGerd Hoffmann2010-03-092-2/+48
|
* new libspice api: zap function pointer indirection.Gerd Hoffmann2010-03-092-9/+40
| | | | | Make register_*_notifier calls optional, long term they should go away entriely. Add direct library calls as replacement.
* new libspice api: configure port + ticketGerd Hoffmann2010-03-092-0/+54
| | | | | | | | | Add new functions to configure spice port and ticketing. Yes, this is incomplete, it includes just the most important bits to get something up'n'running. These functions are supposed to replace both spice_parse_args() and the monitor interaction via qterm interface.
* new libspice api: alloc, initi and free spice server instances.Gerd Hoffmann2010-03-092-6/+40
| | | | | | The implementation can't handle multiple spice server instances at the same time right now. The API allows this though, so if we fixup the implementation some day we don't have to change the API.
* Fix possible quic_usr_more_lines_unstable() crashGerd Hoffmann2010-03-091-2/+8
| | | | | | | | quic_usr_more_lines_unstable() assumes it can allways copy a complete scanline. Well, it can't. In case the screen rectangle which needs updating has an x-offset greater than zero *and* includes the last scanline of the screen it will overflow the source buffer by x-offset * bytes-per-pixel bytes.
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2010-03-096-109/+87
|
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-081-204/+80
| | | | | | | | | | | Instead of having two virtualizations of the canvas we push the virtualization into the canvas code itself. This not only avoids the duplication of this code, it also makes the exposed API for the canvas much smaller (in terms of exported API). It also lets us use the virtualization to implement basic support for operations in canvas_base which is then overridden by each canvas implementation.
* Make virt mapping an interfaceAlexander Larsson2010-03-081-11/+18
|
* Make glz_decoder non-optional canvas_base in canvas constructorsAlexander Larsson2010-03-081-2/+2
| | | | | It can still be NULL, but we simplify the headers by always including it. There is no practical performance difference here.