Commit Graph

45 Commits

Author SHA1 Message Date
Alon Levy
f5689c14cf qxl_dev.h: make QXLEffectType an enum instead of defines 2011-02-10 15:43:09 +02:00
Alon Levy
07aa808a21 qxl_dev.h: make QXLBitmapFlags a typedef 2011-02-10 15:43:09 +02:00
Alon Levy
6e719d6fcc qxl_dev.h: make QXLSurfaceCmdType a typedef 2011-02-10 15:43:06 +02:00
Alon Levy
3b67b660b6 qxl_dev.h: name QXL_IMAGE_* flags as type and enum QXLImageFlags 2011-02-10 15:43:02 +02:00
Alon Levy
dbe9402bc2 qxl_dev.h: make QXLCmdType enum also a typedef 2011-02-10 15:42:59 +02:00
Gerd Hoffmann
527d52ae25 add compat flag for 16bpp mode
spice 0.6 uses 32bpp values unconditionally for brush and palette
colors.

spice 0.4 used to use 16 bpp or 32 bpp depending on the video mode.
The qxl parser needs to know the guest video mode depth to correctly
interpret these values in spice 0.4 compat mode.  Add a flag to pass
on this informartion.
2010-09-14 10:08:28 +02:00
Alexander Larsson
8ba4939810 Fix misspellings
SpicedSubMessage -> SpiceSubMessage
QXLAlphaBlnd -> QXLAlphaBlend
2010-07-08 18:22:41 +02:00
Alexander Larsson
4cc9675ef5 Include enums.h from qxl_dev.h
This makes stuff keep building as before when draw.h included enum.h
2010-07-08 15:56:14 +02:00
Alexander Larsson
8deadab956 List all the PCI ids and revisions instead of just the latest/current 2010-07-08 15:16:22 +02:00
Alexander Larsson
a65d4b5d09 Move spice/draw.h to spice 2010-07-08 13:36:40 +02:00
Alexander Larsson
b25441f26b Add QXLCursorHeader and use instead of SpiceCursorHeader in qxl 2010-07-08 13:23:28 +02:00
Alexander Larsson
77927cec02 Use QXLFIXED, not SPICE_FIXED28_4 in qxl_dev.h 2010-07-08 12:41:47 +02:00
Gerd Hoffmann
3f1e240574 qxl abi: Add QXLImage and & co
Also, this changes the SpiceImage types to be more useful
as internal types, with real typed pointers. It also
adds a SpiceChunk iovec type for easy representation of
chunked data.
2010-07-07 22:46:26 +02:00
Gerd Hoffmann
92c6782209 Update SpiceString to use an array of pointers for glyphs 2010-07-02 16:47:28 +02:00
Gerd Hoffmann
65f9bef4fe qxl abi: zap SPICE_ADDRESS for clip rects and paths. 2010-06-29 13:11:57 +02:00
Gerd Hoffmann
5938ace152 qxl abi: add QXLRect 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
36bdfe2f47 qxl abi: add QXLPoint & friends 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
f433459af1 qxl abi: add QXLClip 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
d0d9c32ed9 qxl abi: add QXLLineAttr 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
900f532cc2 qxl abi: add QXLPattern 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
772fa958a7 qxl abi: add QXLBrush 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
30f1ed5dc6 qxl abi: add QXLQMask 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
faa60f1c6d qxl abi: add QXLBlackness+QXLInvers+QXLWhiteness 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
e4dedcdcc3 qxl abi: add QXLText 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
34d776cebc qxl abi: add QXLStroke 2010-06-29 12:29:45 +02:00
Gerd Hoffmann
7851c98a4f qxl abi: add QXLRop3 2010-06-29 12:29:41 +02:00
Gerd Hoffmann
38a8c668dd qxl abi: add QXLTransparent 2010-06-29 12:29:41 +02:00
Gerd Hoffmann
28b990c0d9 qxl abi: add Copy+Blend.
Add QXLCopy and QXlBlend, also fix tyops (s/rop_decriptor/rop_descriptor/).
2010-06-29 12:29:41 +02:00
Gerd Hoffmann
b64d99aea3 qxl abi: add Opaque.
Add QXLOpaque, also fix tyops (s/rop_decriptor/rop_descriptor/).
2010-06-29 12:29:35 +02:00
Gerd Hoffmann
de94076219 qxl abi: add Fill.
Add QXLFill, also fix tyops (s/rop_decriptor/rop_descriptor/).
2010-06-29 12:29:04 +02:00
Gerd Hoffmann
201ef133fa qxl abi: add AlphaBlnd.
Add QXLAlphaBlnd and QXLCompatAlphaBlnd types.
2010-06-29 12:29:04 +02:00
Alexander Larsson
d58376dc57 Add some types needed by the demarshalling work 2010-06-14 15:42:29 +02:00
Gerd Hoffmann
73b175849c add QXL_SURF_FLAG_KEEP_DATA 2010-05-18 17:26:47 +02:00
Alexander Larsson
b07c09ca17 Add image flag for "all high bits are set to one"
This lets us send rgba images with all high bytes 0xff as rgb, which
is not all that uncommon.
2010-04-28 15:40:12 +02:00
Gerd Hoffmann
445a96d029 make unstable qxl compatible with 0.4 qxl
Add SET_MODE IO port back in.
Add QXLRom offset fields back in.

I/O ports, RAM and ROM layout are binary compatible now.

With these changes merged it should be possible to create *one* qxl
device which supports *both* 0.4 and unstable spice commands.

Everything the guest touches before entering native mode is binary
compatible.  Old (0.4) guests drivers enter native mode via SET_MODE,
new (unstqable) guest drivers enter native mode using CREATE_PRIMARY,
so when we see spice commands from the guest come in we know
whenever we have to interpret them as 0.4 or unstable ones.

Added commends to structs which need care wrt. compatibility when
updating.

Added some QXLCompat* structs for the 0.4 struct versions.

Added a flags field to QXLCommandEx so qxl can signal whenever commands
are compat or not.

Moved QXLRom->n_surfaces to make QXLRom->flags 64bit aligned.

Add padding to QXLRom to ensure future elements are 32bit aligned.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2010-04-26 15:48:54 +02:00
Alexander Larsson
916f3818d8 Pass format when creating surfaces rather than depth 2010-04-19 15:47:48 +02:00
Alexander Larsson
f50ca498cc Make pci id be 0x1ff rev 1, for unstable work
We will switch back to 0x101 when things settle down and we guarantee
backwards compatibility. For now we will keep breaking it, bumping
revision each time this happens.
2010-04-06 12:29:52 +02:00
Izik Eidus
98fd8921a9 spice-protocol off screens supports
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-04-03 05:41:20 +03:00
Alexander Larsson
e625b1a1fb Always include using <spice/foo.h> style 2010-02-04 16:47:23 +01:00
Alexander Larsson
49fccfefc8 Clean up and standardize header guards 2010-02-04 16:47:14 +01:00
Alexander Larsson
90352580a0 Rename all identifiers
This is just the result of running:
./rename-identifiers.sh renames spice/*.h
2010-02-04 16:46:27 +01:00
Alexander Larsson
9032d5235b Use <spice/barrier.h> memory barrier 2010-02-04 16:43:24 +01:00
Alexander Larsson
7050ae14a4 Add standard header for structure packing 2010-02-04 16:43:15 +01:00
Alexander Larsson
c2852f6b5f Use spice/types.h and its types
There is a standard for integer types (i.e. uint32_t) which we're using
at some places, but not others. Lets use it everywhere.
2010-02-04 16:40:42 +01:00
Alexander Larsson
e0f9912933 Import all protocol headers from spice/common 2010-02-04 16:18:44 +01:00