[Spice-commits] 16 commits - spice/draw.h spice/qxl_dev.h

Gerd Hoffmann kraxel at kemper.freedesktop.org
Tue Jun 29 03:48:49 PDT 2010


 spice/draw.h    |    6 -
 spice/qxl_dev.h |  203 +++++++++++++++++++++++++++++++++++++++++++++-----------
 2 files changed, 169 insertions(+), 40 deletions(-)

New commits:
commit 5938ace1522a57c5a84dc1c1dfdec7b2cfa858ea
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu Jun 24 16:09:59 2010 +0200

    qxl abi: add QXLRect

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index d1f066f..a059e12 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -93,6 +93,13 @@ typedef struct SPICE_ATTR_PACKED QXLPoint16 {
     int16_t y;
 } QXLPoint16;
 
+typedef struct SPICE_ATTR_PACKED QXLRect {
+    int32_t top;
+    int32_t left;
+    int32_t bottom;
+    int32_t right;
+} QXLRect;
+
 /* qxl-1 compat: append only */
 typedef struct SPICE_ATTR_PACKED QXLRom {
     uint32_t magic;
@@ -205,7 +212,7 @@ typedef struct SPICE_ATTR_PACKED QXLRam {
     QXLCommandRing cmd_ring;
     QXLCursorRing cursor_ring;
     QXLReleaseRing release_ring;
-    SpiceRect update_area;
+    QXLRect update_area;
     /* appended for qxl-2 */
     uint32_t update_surface;
     QXLMemSlot mem_slot;
@@ -237,13 +244,13 @@ typedef struct SPICE_ATTR_PACKED QXLMessage {
 
 typedef struct SPICE_ATTR_PACKED QXLCompatUpdateCmd {
     QXLReleaseInfo release_info;
-    SpiceRect area;
+    QXLRect area;
     uint32_t update_id;
 } QXLCompatUpdateCmd;
 
 typedef struct SPICE_ATTR_PACKED QXLUpdateCmd {
     QXLReleaseInfo release_info;
-    SpiceRect area;
+    QXLRect area;
     uint32_t update_id;
     uint32_t surface_id;
 } QXLUpdateCmd;
@@ -345,7 +352,7 @@ typedef struct SPICE_ATTR_PACKED QXLFill {
 
 typedef struct SPICE_ATTR_PACKED QXLOpaque {
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
     QXLBrush brush;
     uint16_t rop_descriptor;
     uint8_t scale_mode;
@@ -354,7 +361,7 @@ typedef struct SPICE_ATTR_PACKED QXLOpaque {
 
 typedef struct SPICE_ATTR_PACKED QXLCopy {
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
     uint16_t rop_descriptor;
     uint8_t scale_mode;
     QXLQMask mask;
@@ -362,7 +369,7 @@ typedef struct SPICE_ATTR_PACKED QXLCopy {
 
 typedef struct SPICE_ATTR_PACKED QXLTransparent {
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
     uint32_t src_color;
     uint32_t true_color;
 } QXLTransparent;
@@ -371,18 +378,18 @@ typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
     uint16_t alpha_flags;
     uint8_t alpha;
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
 } QXLAlphaBlnd;
 
 typedef struct SPICE_ATTR_PACKED QXLCompatAlphaBlnd {
     uint8_t alpha;
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
 } QXLCompatAlphaBlnd;
 
 typedef struct SPICE_ATTR_PACKED QXLRop3 {
     QXLPHYSICAL src_bitmap;
-    SpiceRect src_area;
+    QXLRect src_area;
     QXLBrush brush;
     uint8_t rop3;
     uint8_t scale_mode;
@@ -409,7 +416,7 @@ typedef struct SPICE_ATTR_PACKED QXLStroke {
 
 typedef struct SPICE_ATTR_PACKED QXLText {
     QXLPHYSICAL str;
-    SpiceRect back_area;
+    QXLRect back_area;
     QXLBrush fore_brush;
     QXLBrush back_brush;
     uint16_t fore_mode;
@@ -430,8 +437,8 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     uint8_t effect;
     uint8_t type;
     uint16_t bitmap_offset;
-    SpiceRect bitmap_area;
-    SpiceRect bbox;
+    QXLRect bitmap_area;
+    QXLRect bbox;
     QXLClip clip;
     uint32_t mm_time;
     union {
@@ -457,12 +464,12 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
     uint8_t effect;
     uint8_t type;
     uint8_t self_bitmap;
-    SpiceRect self_bitmap_area;
-    SpiceRect bbox;
+    QXLRect self_bitmap_area;
+    QXLRect bbox;
     QXLClip clip;
     uint32_t mm_time;
     int32_t surfaces_dest[3];
-    SpiceRect surfaces_rects[3];
+    QXLRect surfaces_rects[3];
     union {
         QXLFill fill;
         QXLOpaque opaque;
commit 36bdfe2f470f34b27f50249e7f942a987eb89e96
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu Jun 24 14:36:17 2010 +0200

    qxl abi: add QXLPoint & friends

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 35db3b9..d1f066f 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -78,6 +78,21 @@ enum {
     QXL_IO_RANGE_SIZE
 };
 
+typedef struct SPICE_ATTR_PACKED QXLPointFix {
+    SPICE_FIXED28_4 x;
+    SPICE_FIXED28_4 y;
+} QXLPointFix;
+
+typedef struct SPICE_ATTR_PACKED QXLPoint {
+    int32_t x;
+    int32_t y;
+} QXLPoint;
+
+typedef struct SPICE_ATTR_PACKED QXLPoint16 {
+    int16_t x;
+    int16_t y;
+} QXLPoint16;
+
 /* qxl-1 compat: append only */
 typedef struct SPICE_ATTR_PACKED QXLRom {
     uint32_t magic;
@@ -253,7 +268,7 @@ typedef struct SPICE_ATTR_PACKED QXLCursorCmd {
     uint8_t type;
     union {
         struct SPICE_ATTR_PACKED {
-            SpicePoint16 position;
+            QXLPoint16 position;
             uint8_t visible;
             QXLPHYSICAL shape;
         } set;
@@ -261,7 +276,7 @@ typedef struct SPICE_ATTR_PACKED QXLCursorCmd {
             uint16_t length;
             uint16_t frequency;
         } trail;
-        SpicePoint16 position;
+        QXLPoint16 position;
     } u;
     uint8_t device_data[QXL_CURSUR_DEVICE_DATA_SIZE]; //todo: dynamic size from rom
 } QXLCursorCmd;
@@ -291,7 +306,7 @@ typedef struct SPICE_ATTR_PACKED QXLString {
 } QXLString;
 
 typedef struct SPICE_ATTR_PACKED QXLCopyBits {
-    SpicePoint src_pos;
+    QXLPoint src_pos;
 } QXLCopyBits;
 
 #define QXL_EFFECT_BLEND 0
@@ -305,7 +320,7 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 
 typedef struct SPICE_ATTR_PACKED QXLPattern {
     QXLPHYSICAL pat;
-    SpicePoint pos;
+    QXLPoint pos;
 } QXLPattern;
 
 typedef struct SPICE_ATTR_PACKED QXLBrush {
@@ -318,7 +333,7 @@ typedef struct SPICE_ATTR_PACKED QXLBrush {
 
 typedef struct SPICE_ATTR_PACKED QXLQMask {
     uint8_t flags;
-    SpicePoint pos;
+    QXLPoint pos;
     QXLPHYSICAL bitmap;
 } QXLQMask;
 
commit f433459af11b9a7f52f1f61cc61b66011be74b59
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu Jun 24 09:49:47 2010 +0200

    qxl abi: add QXLClip

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 6909d0a..35db3b9 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -405,6 +405,11 @@ typedef struct SPICE_ATTR_PACKED QXLBlackness {
     QXLQMask mask;
 } QXLBlackness, QXLInvers, QXLWhiteness;
 
+typedef struct SPICE_ATTR_PACKED QXLClip {
+    uint32_t type;
+    QXLPHYSICAL data;
+} QXLClip;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -412,7 +417,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     uint16_t bitmap_offset;
     SpiceRect bitmap_area;
     SpiceRect bbox;
-    SpiceClip clip;
+    QXLClip clip;
     uint32_t mm_time;
     union {
         QXLFill fill;
@@ -439,7 +444,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
     uint8_t self_bitmap;
     SpiceRect self_bitmap_area;
     SpiceRect bbox;
-    SpiceClip clip;
+    QXLClip clip;
     uint32_t mm_time;
     int32_t surfaces_dest[3];
     SpiceRect surfaces_rects[3];
commit d0d9c32ed996ad6e0d7ce6a58c31bf0c7b620dbc
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu Jun 24 09:19:44 2010 +0200

    qxl abi: add QXLLineAttr

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 4d4325b..6909d0a 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -374,9 +374,19 @@ typedef struct SPICE_ATTR_PACKED QXLRop3 {
     QXLQMask mask;
 } QXLRop3;
 
+typedef struct SPICE_ATTR_PACKED QXLLineAttr {
+    uint8_t flags;
+    uint8_t join_style;
+    uint8_t end_style;
+    uint8_t style_nseg;
+    SPICE_FIXED28_4 width;
+    SPICE_FIXED28_4 miter_limit;
+    QXLPHYSICAL style; //data[0] ?
+} QXLLineAttr;
+
 typedef struct SPICE_ATTR_PACKED QXLStroke {
     QXLPHYSICAL path;
-    SpiceLineAttr attr;
+    QXLLineAttr attr;
     QXLBrush brush;
     uint16_t fore_mode;
     uint16_t back_mode;
commit 900f532cc2ab377b0107a142d48b277c14935c7e
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu Jun 24 09:13:29 2010 +0200

    qxl abi: add QXLPattern

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 261000c..4d4325b 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -303,11 +303,16 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 #define QXL_EFFECT_NOP 6
 #define QXL_EFFECT_OPAQUE_BRUSH 7
 
+typedef struct SPICE_ATTR_PACKED QXLPattern {
+    QXLPHYSICAL pat;
+    SpicePoint pos;
+} QXLPattern;
+
 typedef struct SPICE_ATTR_PACKED QXLBrush {
     uint32_t type;
     union {
         uint32_t color;
-        SpicePattern pattern;
+        QXLPattern pattern;
     } u;
 } QXLBrush;
 
commit 772fa958a73269ca0a60427110b9955dc8ee9b57
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 17:49:22 2010 +0200

    qxl abi: add QXLBrush

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index c1b25c2..261000c 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -303,6 +303,14 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 #define QXL_EFFECT_NOP 6
 #define QXL_EFFECT_OPAQUE_BRUSH 7
 
+typedef struct SPICE_ATTR_PACKED QXLBrush {
+    uint32_t type;
+    union {
+        uint32_t color;
+        SpicePattern pattern;
+    } u;
+} QXLBrush;
+
 typedef struct SPICE_ATTR_PACKED QXLQMask {
     uint8_t flags;
     SpicePoint pos;
@@ -310,7 +318,7 @@ typedef struct SPICE_ATTR_PACKED QXLQMask {
 } QXLQMask;
 
 typedef struct SPICE_ATTR_PACKED QXLFill {
-    SpiceBrush brush;
+    QXLBrush brush;
     uint16_t rop_descriptor;
     QXLQMask mask;
 } QXLFill;
@@ -318,7 +326,7 @@ typedef struct SPICE_ATTR_PACKED QXLFill {
 typedef struct SPICE_ATTR_PACKED QXLOpaque {
     QXLPHYSICAL src_bitmap;
     SpiceRect src_area;
-    SpiceBrush brush;
+    QXLBrush brush;
     uint16_t rop_descriptor;
     uint8_t scale_mode;
     QXLQMask mask;
@@ -355,7 +363,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatAlphaBlnd {
 typedef struct SPICE_ATTR_PACKED QXLRop3 {
     QXLPHYSICAL src_bitmap;
     SpiceRect src_area;
-    SpiceBrush brush;
+    QXLBrush brush;
     uint8_t rop3;
     uint8_t scale_mode;
     QXLQMask mask;
@@ -364,7 +372,7 @@ typedef struct SPICE_ATTR_PACKED QXLRop3 {
 typedef struct SPICE_ATTR_PACKED QXLStroke {
     QXLPHYSICAL path;
     SpiceLineAttr attr;
-    SpiceBrush brush;
+    QXLBrush brush;
     uint16_t fore_mode;
     uint16_t back_mode;
 } QXLStroke;
@@ -372,8 +380,8 @@ typedef struct SPICE_ATTR_PACKED QXLStroke {
 typedef struct SPICE_ATTR_PACKED QXLText {
     QXLPHYSICAL str;
     SpiceRect back_area;
-    SpiceBrush fore_brush;
-    SpiceBrush back_brush;
+    QXLBrush fore_brush;
+    QXLBrush back_brush;
     uint16_t fore_mode;
     uint16_t back_mode;
 } QXLText;
commit 30f1ed5dc6158f502052fcc9c7aa6c0812cde832
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 17:40:22 2010 +0200

    qxl abi: add QXLQMask

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index b62ca11..c1b25c2 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -303,10 +303,16 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 #define QXL_EFFECT_NOP 6
 #define QXL_EFFECT_OPAQUE_BRUSH 7
 
+typedef struct SPICE_ATTR_PACKED QXLQMask {
+    uint8_t flags;
+    SpicePoint pos;
+    QXLPHYSICAL bitmap;
+} QXLQMask;
+
 typedef struct SPICE_ATTR_PACKED QXLFill {
     SpiceBrush brush;
     uint16_t rop_descriptor;
-    SpiceQMask mask;
+    QXLQMask mask;
 } QXLFill;
 
 typedef struct SPICE_ATTR_PACKED QXLOpaque {
@@ -315,7 +321,7 @@ typedef struct SPICE_ATTR_PACKED QXLOpaque {
     SpiceBrush brush;
     uint16_t rop_descriptor;
     uint8_t scale_mode;
-    SpiceQMask mask;
+    QXLQMask mask;
 } QXLOpaque;
 
 typedef struct SPICE_ATTR_PACKED QXLCopy {
@@ -323,7 +329,7 @@ typedef struct SPICE_ATTR_PACKED QXLCopy {
     SpiceRect src_area;
     uint16_t rop_descriptor;
     uint8_t scale_mode;
-    SpiceQMask mask;
+    QXLQMask mask;
 } QXLCopy, QXLBlend;
 
 typedef struct SPICE_ATTR_PACKED QXLTransparent {
@@ -352,7 +358,7 @@ typedef struct SPICE_ATTR_PACKED QXLRop3 {
     SpiceBrush brush;
     uint8_t rop3;
     uint8_t scale_mode;
-    SpiceQMask mask;
+    QXLQMask mask;
 } QXLRop3;
 
 typedef struct SPICE_ATTR_PACKED QXLStroke {
@@ -373,7 +379,7 @@ typedef struct SPICE_ATTR_PACKED QXLText {
 } QXLText;
 
 typedef struct SPICE_ATTR_PACKED QXLBlackness {
-    SpiceQMask mask;
+    QXLQMask mask;
 } QXLBlackness, QXLInvers, QXLWhiteness;
 
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
commit faa60f1c6d7198b73aa5e8029b3c108e3f67a52e
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 16:56:10 2010 +0200

    qxl abi: add QXLBlackness+QXLInvers+QXLWhiteness

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index b3157ae..b62ca11 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -372,6 +372,10 @@ typedef struct SPICE_ATTR_PACKED QXLText {
     uint16_t back_mode;
 } QXLText;
 
+typedef struct SPICE_ATTR_PACKED QXLBlackness {
+    SpiceQMask mask;
+} QXLBlackness, QXLInvers, QXLWhiteness;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -392,9 +396,9 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         QXLRop3 rop3;
         QXLStroke stroke;
         QXLText text;
-        SpiceBlackness blackness;
-        SpiceInvers invers;
-        SpiceWhiteness whiteness;
+        QXLBlackness blackness;
+        QXLInvers invers;
+        QXLWhiteness whiteness;
     } u;
 } QXLCompatDrawable;
 
@@ -421,9 +425,9 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         QXLRop3 rop3;
         QXLStroke stroke;
         QXLText text;
-        SpiceBlackness blackness;
-        SpiceInvers invers;
-        SpiceWhiteness whiteness;
+        QXLBlackness blackness;
+        QXLInvers invers;
+        QXLWhiteness whiteness;
     } u;
 } QXLDrawable;
 
commit e4dedcdcc3fc6057500e22a2303e9b314249bb1b
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 16:29:22 2010 +0200

    qxl abi: add QXLText

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index ac6a1d7..b3157ae 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -363,6 +363,15 @@ typedef struct SPICE_ATTR_PACKED QXLStroke {
     uint16_t back_mode;
 } QXLStroke;
 
+typedef struct SPICE_ATTR_PACKED QXLText {
+    QXLPHYSICAL str;
+    SpiceRect back_area;
+    SpiceBrush fore_brush;
+    SpiceBrush back_brush;
+    uint16_t fore_mode;
+    uint16_t back_mode;
+} QXLText;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -382,7 +391,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         QXLBlend blend;
         QXLRop3 rop3;
         QXLStroke stroke;
-        SpiceText text;
+        QXLText text;
         SpiceBlackness blackness;
         SpiceInvers invers;
         SpiceWhiteness whiteness;
@@ -411,7 +420,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         QXLBlend blend;
         QXLRop3 rop3;
         QXLStroke stroke;
-        SpiceText text;
+        QXLText text;
         SpiceBlackness blackness;
         SpiceInvers invers;
         SpiceWhiteness whiteness;
commit 34d776cebc2bbd5b03ee9f7d7690b858d85be548
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 16:23:47 2010 +0200

    qxl abi: add QXLStroke

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index f23c990..ac6a1d7 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -355,6 +355,14 @@ typedef struct SPICE_ATTR_PACKED QXLRop3 {
     SpiceQMask mask;
 } QXLRop3;
 
+typedef struct SPICE_ATTR_PACKED QXLStroke {
+    QXLPHYSICAL path;
+    SpiceLineAttr attr;
+    SpiceBrush brush;
+    uint16_t fore_mode;
+    uint16_t back_mode;
+} QXLStroke;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -373,7 +381,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         QXLCopyBits copy_bits;
         QXLBlend blend;
         QXLRop3 rop3;
-        SpiceStroke stroke;
+        QXLStroke stroke;
         SpiceText text;
         SpiceBlackness blackness;
         SpiceInvers invers;
@@ -402,7 +410,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         QXLCopyBits copy_bits;
         QXLBlend blend;
         QXLRop3 rop3;
-        SpiceStroke stroke;
+        QXLStroke stroke;
         SpiceText text;
         SpiceBlackness blackness;
         SpiceInvers invers;
commit 7851c98a4ff9a97a7b822672b9c124275dec4f10
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 15:34:06 2010 +0200

    qxl abi: add QXLRop3

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index f778118..f23c990 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -346,6 +346,15 @@ typedef struct SPICE_ATTR_PACKED QXLCompatAlphaBlnd {
     SpiceRect src_area;
 } QXLCompatAlphaBlnd;
 
+typedef struct SPICE_ATTR_PACKED QXLRop3 {
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+    SpiceBrush brush;
+    uint8_t rop3;
+    uint8_t scale_mode;
+    SpiceQMask mask;
+} QXLRop3;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -363,7 +372,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         QXLCompatAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         QXLBlend blend;
-        SpiceRop3 rop3;
+        QXLRop3 rop3;
         SpiceStroke stroke;
         SpiceText text;
         SpiceBlackness blackness;
@@ -392,7 +401,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         QXLAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         QXLBlend blend;
-        SpiceRop3 rop3;
+        QXLRop3 rop3;
         SpiceStroke stroke;
         SpiceText text;
         SpiceBlackness blackness;
commit 38a8c668dd769f6ec38e7279a434a27fa63ed62a
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 14:54:22 2010 +0200

    qxl abi: add QXLTransparent

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index ef52e9a..f778118 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -326,6 +326,13 @@ typedef struct SPICE_ATTR_PACKED QXLCopy {
     SpiceQMask mask;
 } QXLCopy, QXLBlend;
 
+typedef struct SPICE_ATTR_PACKED QXLTransparent {
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+    uint32_t src_color;
+    uint32_t true_color;
+} QXLTransparent;
+
 typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
     uint16_t alpha_flags;
     uint8_t alpha;
@@ -352,7 +359,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         QXLFill fill;
         QXLOpaque opaque;
         QXLCopy copy;
-        SpiceTransparent transparent;
+        QXLTransparent transparent;
         QXLCompatAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         QXLBlend blend;
@@ -381,7 +388,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         QXLFill fill;
         QXLOpaque opaque;
         QXLCopy copy;
-        SpiceTransparent transparent;
+        QXLTransparent transparent;
         QXLAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         QXLBlend blend;
commit 28b990c0d93d40ae3111bb1f58b18e11083c863f
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 14:39:37 2010 +0200

    qxl abi: add Copy+Blend.
    
    Add QXLCopy and QXlBlend, also fix tyops (s/rop_decriptor/rop_descriptor/).

diff --git a/spice/draw.h b/spice/draw.h
index 3f277d8..dee444b 100644
--- a/spice/draw.h
+++ b/spice/draw.h
@@ -217,7 +217,7 @@ typedef struct SPICE_ATTR_PACKED SpiceOpaque {
 typedef struct SPICE_ATTR_PACKED SpiceCopy {
     SPICE_ADDRESS src_bitmap;
     SpiceRect src_area;
-    uint16_t rop_decriptor;
+    uint16_t rop_descriptor;
     uint8_t scale_mode;
     SpiceQMask mask;
 } SpiceCopy, SpiceBlend;
diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index da18326..ef52e9a 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -318,6 +318,14 @@ typedef struct SPICE_ATTR_PACKED QXLOpaque {
     SpiceQMask mask;
 } QXLOpaque;
 
+typedef struct SPICE_ATTR_PACKED QXLCopy {
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+    uint16_t rop_descriptor;
+    uint8_t scale_mode;
+    SpiceQMask mask;
+} QXLCopy, QXLBlend;
+
 typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
     uint16_t alpha_flags;
     uint8_t alpha;
@@ -343,11 +351,11 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     union {
         QXLFill fill;
         QXLOpaque opaque;
-        SpiceCopy copy;
+        QXLCopy copy;
         SpiceTransparent transparent;
         QXLCompatAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
-        SpiceBlend blend;
+        QXLBlend blend;
         SpiceRop3 rop3;
         SpiceStroke stroke;
         SpiceText text;
@@ -372,11 +380,11 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
     union {
         QXLFill fill;
         QXLOpaque opaque;
-        SpiceCopy copy;
+        QXLCopy copy;
         SpiceTransparent transparent;
         QXLAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
-        SpiceBlend blend;
+        QXLBlend blend;
         SpiceRop3 rop3;
         SpiceStroke stroke;
         SpiceText text;
commit b64d99aea36c8f9dc276b0a28daf19f66790f8e6
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 09:06:59 2010 +0200

    qxl abi: add Opaque.
    
    Add QXLOpaque, also fix tyops (s/rop_decriptor/rop_descriptor/).

diff --git a/spice/draw.h b/spice/draw.h
index 42cd025..3f277d8 100644
--- a/spice/draw.h
+++ b/spice/draw.h
@@ -209,7 +209,7 @@ typedef struct SPICE_ATTR_PACKED SpiceOpaque {
     SPICE_ADDRESS src_bitmap;
     SpiceRect src_area;
     SpiceBrush brush;
-    uint16_t rop_decriptor;
+    uint16_t rop_descriptor;
     uint8_t scale_mode;
     SpiceQMask mask;
 } SpiceOpaque;
diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index b95f920..da18326 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -309,6 +309,15 @@ typedef struct SPICE_ATTR_PACKED QXLFill {
     SpiceQMask mask;
 } QXLFill;
 
+typedef struct SPICE_ATTR_PACKED QXLOpaque {
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+    SpiceBrush brush;
+    uint16_t rop_descriptor;
+    uint8_t scale_mode;
+    SpiceQMask mask;
+} QXLOpaque;
+
 typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
     uint16_t alpha_flags;
     uint8_t alpha;
@@ -333,7 +342,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     uint32_t mm_time;
     union {
         QXLFill fill;
-        SpiceOpaque opaque;
+        QXLOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
         QXLCompatAlphaBlnd alpha_blend;
@@ -362,7 +371,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
     SpiceRect surfaces_rects[3];
     union {
         QXLFill fill;
-        SpiceOpaque opaque;
+        QXLOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
         QXLAlphaBlnd alpha_blend;
commit de94076219fa14cadec32388988accb55186fd9d
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Wed Jun 23 08:49:48 2010 +0200

    qxl abi: add Fill.
    
    Add QXLFill, also fix tyops (s/rop_decriptor/rop_descriptor/).

diff --git a/spice/draw.h b/spice/draw.h
index e6fab5c..42cd025 100644
--- a/spice/draw.h
+++ b/spice/draw.h
@@ -106,7 +106,7 @@ typedef struct SPICE_ATTR_PACKED SpiceQMask {
 
 typedef struct SPICE_ATTR_PACKED SpiceFill {
     SpiceBrush brush;
-    uint16_t rop_decriptor;
+    uint16_t rop_descriptor;
     SpiceQMask mask;
 } SpiceFill;
 
diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 9d62905..b95f920 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -303,6 +303,12 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 #define QXL_EFFECT_NOP 6
 #define QXL_EFFECT_OPAQUE_BRUSH 7
 
+typedef struct SPICE_ATTR_PACKED QXLFill {
+    SpiceBrush brush;
+    uint16_t rop_descriptor;
+    SpiceQMask mask;
+} QXLFill;
+
 typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
     uint16_t alpha_flags;
     uint8_t alpha;
@@ -326,7 +332,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     SpiceClip clip;
     uint32_t mm_time;
     union {
-        SpiceFill fill;
+        QXLFill fill;
         SpiceOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
@@ -355,7 +361,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
     int32_t surfaces_dest[3];
     SpiceRect surfaces_rects[3];
     union {
-        SpiceFill fill;
+        QXLFill fill;
         SpiceOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
commit 201ef133fa592652f5e59afefbf76ffc83134120
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Tue Jun 22 17:38:09 2010 +0200

    qxl abi: add AlphaBlnd.
    
    Add QXLAlphaBlnd and QXLCompatAlphaBlnd types.

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index 693348f..9d62905 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -303,6 +303,19 @@ typedef struct SPICE_ATTR_PACKED QXLCopyBits {
 #define QXL_EFFECT_NOP 6
 #define QXL_EFFECT_OPAQUE_BRUSH 7
 
+typedef struct SPICE_ATTR_PACKED QXLAlphaBlnd {
+    uint16_t alpha_flags;
+    uint8_t alpha;
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+} QXLAlphaBlnd;
+
+typedef struct SPICE_ATTR_PACKED QXLCompatAlphaBlnd {
+    uint8_t alpha;
+    QXLPHYSICAL src_bitmap;
+    SpiceRect src_area;
+} QXLCompatAlphaBlnd;
+
 typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
     QXLReleaseInfo release_info;
     uint8_t effect;
@@ -317,7 +330,7 @@ typedef struct SPICE_ATTR_PACKED QXLCompatDrawable {
         SpiceOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
-        SpiceAlphaBlnd alpha_blend;
+        QXLCompatAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         SpiceBlend blend;
         SpiceRop3 rop3;
@@ -346,7 +359,7 @@ typedef struct SPICE_ATTR_PACKED QXLDrawable {
         SpiceOpaque opaque;
         SpiceCopy copy;
         SpiceTransparent transparent;
-        SpiceAlphaBlnd alpha_blend;
+        QXLAlphaBlnd alpha_blend;
         QXLCopyBits copy_bits;
         SpiceBlend blend;
         SpiceRop3 rop3;


More information about the Spice-commits mailing list