summaryrefslogtreecommitdiff
path: root/include/pixmapstr.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-06-14 15:24:46 +0100
committerDave Airlie <airlied@redhat.com>2012-07-07 10:37:11 +0100
commit9b8217f9ef6279fff6628631d18497bed0343ef9 (patch)
tree2c7a3d271aff66bb12c05e93700ee460ee7168ae /include/pixmapstr.h
parentc5cc2a8243c5e6bf454af989b7512ec7e20fc3f2 (diff)
dix/pixmap: track dirty pixmaps in server. (v4)
This adds two functions for drivers to use directly to keep a linked list of slave pixmaps to do damage tracking on and keep updated. It also adds a helper function that drivers may optionally call to do a simple copy area damage update. v2: use damage.h not damagestr.h, fixes ephyr build. v3: address ajax review: use slave_dst, drop unused dst member. v4: check DamageCreate return, add SourceValidate comment, add a comment addressing possible optimisation possibility Reviewed-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/pixmapstr.h')
-rw-r--r--include/pixmapstr.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/pixmapstr.h b/include/pixmapstr.h
index 40af5c4a3..2a1ef9b85 100644
--- a/include/pixmapstr.h
+++ b/include/pixmapstr.h
@@ -50,6 +50,7 @@ SOFTWARE.
#include "screenint.h"
#include "regionstr.h"
#include "privates.h"
+#include "damage.h"
typedef struct _Drawable {
unsigned char type; /* DRAWABLE_<type> */
@@ -84,6 +85,13 @@ typedef struct _Pixmap {
PixmapPtr master_pixmap; /* pointer to master copy of pixmap for pixmap sharing */
} PixmapRec;
+typedef struct _PixmapDirtyUpdate {
+ PixmapPtr src, slave_dst;
+ int x, y;
+ DamagePtr damage;
+ struct xorg_list ent;
+} PixmapDirtyUpdateRec;
+
static inline void
PixmapBox(BoxPtr box, PixmapPtr pixmap)
{