diff options
author | Dave Airlie <airlied@redhat.com> | 2012-06-14 15:24:46 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-07-07 10:37:11 +0100 |
commit | 9b8217f9ef6279fff6628631d18497bed0343ef9 (patch) | |
tree | 2c7a3d271aff66bb12c05e93700ee460ee7168ae /include/pixmapstr.h | |
parent | c5cc2a8243c5e6bf454af989b7512ec7e20fc3f2 (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.h | 8 |
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) { |