summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* s/CoreInterface/SpiceCoreInterface/Gerd Hoffmann2010-05-198-33/+20
|
* VDInterface: redesign.Gerd Hoffmann2010-05-196-199/+198
| | | | | | | | | | | | VDInterface has been renamed to SpiceBaseInterface. Dropped base_version element, shlib versioning should be used instead. Dropped id element, it is passed to spice_server_add_interface() instead. Now SpiceBaseInterface has static information only, multiple interface instances can share it. Added SpiceBaseInstance struct for maintaining per-instance state information. Adapted spice_server_{add,remove}_interface() functions to the new world.
* shlib majorGerd Hoffmann2010-05-191-1/+1
|
* minor timer interface cleanups.Gerd Hoffmann2010-05-193-28/+29
| | | | | | Make the timer interface largely look like the watch interface. Simliar naming convention for the functions (timer_*) and a opaque SpiceTimer type.
* new watch api: kill old apiGerd Hoffmann2010-05-192-7/+0
|
* new watch api: switch channelsGerd Hoffmann2010-05-191-21/+20
|
* new watch api: switch soundGerd Hoffmann2010-05-191-11/+21
|
* new watch api: switch migrationGerd Hoffmann2010-05-191-29/+30
|
* new watch api: switch inputsGerd Hoffmann2010-05-191-25/+25
|
* new watch api: switch ssl acceptGerd Hoffmann2010-05-191-5/+19
|
* new watch api: switch main channelGerd Hoffmann2010-05-191-19/+21
|
* new watch api: switch liasync readGerd Hoffmann2010-05-192-13/+12
|
* new watch api: switch listening socketsGerd Hoffmann2010-05-191-14/+20
|
* introduce new watch apiGerd Hoffmann2010-05-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | This patch adds a new file handle watch interface to libspice, featuring three callbacks: (1) watch_add() -- create a new file watch. (2) watch_update_mask() -- change event mask. spice frequently enables/disables write notification. (3) watch_remove() -- remove a file watch. libspice users must implement these functions to allow libspice monitoring file handles. The old interface (set_file_handlers) doesn't explicitly express the lifecycle of a watch. Also it maps 1:1 to a qemu-internal function. In case the way qemu implements file watches changes (someone sayed QemuIONotifier?) this will break horribly. Beside that it is very bad style. Follwing patches will switch over users one by one to the new interface and finally zap the old one.
* fix visibilityGerd Hoffmann2010-05-192-24/+28
|
* zap CoreInterface->{term_printf,log}Gerd Hoffmann2010-05-192-47/+5
| | | | | Was used to print stuff to the qemu monitor. Fundamentally incompatible with QMP. Remove.
* zap qterm interfacesGerd Hoffmann2010-05-192-738/+0
| | | | old way to handle monitor, obsolete.
* zap CoreInterface->(un)register_change_notifiers()Gerd Hoffmann2010-05-192-8/+0
| | | | | spice_server_add_interface() and spice_server_remove_interface() can be used instead.
* zap CoreInterface->next()Gerd Hoffmann2010-05-192-9/+0
| | | | | | | Interfaces must be registered after spice_server_init(). The "next" callback is used to discover interfaces registered before spice_server_init(). Which is a empty list and thus pretty pointless. Remove it.
* channel security cleanupGerd Hoffmann2010-05-192-33/+24
| | | | | | | | - drop spice_channel_name_t enum, use spice-protocol defines instead. - switch spice_server_set_channel_security() channel parameter from enum to string. - drop spice_server_set_default_channel_security(), use spice_server_set_channel_security with channel == NULL instead.
* zap spice_parse_args + spice_usage_strGerd Hoffmann2010-05-192-336/+0
| | | | First step to throw out the old interface.
* Minor whitespace cleanupvdesktopAlexander Larsson2010-05-191-2/+2
|
* Make it --enable-tunnel workAlexander Larsson2010-05-191-5/+5
|
* 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.
* spice server: fix typo in private key error messageDan Kenigsberg2010-05-031-1/+1
|
* 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-0333-255/+254
| | | | | 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
|
* client: Report window format right for win32Alexander Larsson2010-04-292-4/+14
|
* client: Support 16bpp pixmaps on win32Alexander Larsson2010-04-292-6/+33
|
* 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-282-12/+50
|
* 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-262-1/+3
|
* 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.
* Fix up win32 client with recent changesAlexander Larsson2010-04-233-11/+16
|
* Win32 canvas fixesAlexander Larsson2010-04-231-9/+9
|
* 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.
* 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.
* 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-2310-341/+307
| | | | | | | | 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.
* Client: Support pixmap format conversion in copy_pixelsAlexander Larsson2010-04-2311-249/+179
| | | | | | | | | | | | | | | | | | | | | | In order to be able to support 16bit canvases on 32bit screens and 32bit canvases on 16bit screens we need to handle format conversion when drawing RedPixmaps. The way this works now for X11 is that we only have one PIXELS_SOURCE_TYPE for pixmaps, which always has a pixman_image_t for the data, but additionally it has an XImage (shared mem or not) if the screen the pixmap was created for (i.e. an explicit one or the default screen) has the same format as the pixmap. When we draw a pixmap on a drawable we have two variants. If the pixmap has a XImage and it matches the format of the target drawable then we just X(Shm)PutImage it to the drawable. If the formats differ, then we create a temporary XImage and convert into that before drawing it to the screen. Right now this is a bit inefficient, because we always allocate a new temporary image when converting. We want to add some caching here, but at least this lets things work again.
* X11 client: Add helper for XImage constructionAlexander Larsson2010-04-232-4/+47
|
* Add utility functions to create XShm imagesAlexander Larsson2010-04-232-0/+83
|
* Create screen composit area in same format as windowAlexander Larsson2010-04-231-2/+2
| | | | | This way we don't have to convert when drawing to it, or drawing it to the dc.
* Add helper to compare RedDrawable::Formats for copy compabibleAlexander Larsson2010-04-231-0/+4
| | | | | Being copy compatible means the format are identical except that some bits in the source may be ignored in the destination.