summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/pixmap.h16
-rw-r--r--include/pixmapstr.h8
-rw-r--r--include/scrnintstr.h2
3 files changed, 26 insertions, 0 deletions
diff --git a/include/pixmap.h b/include/pixmap.h
index 8c523bdd9..921a94d1e 100644
--- a/include/pixmap.h
+++ b/include/pixmap.h
@@ -49,6 +49,7 @@ SOFTWARE.
#include "misc.h"
#include "screenint.h"
+#include "regionstr.h"
/* types for Drawable */
#define DRAWABLE_WINDOW 0
@@ -73,6 +74,8 @@ SOFTWARE.
typedef struct _Drawable *DrawablePtr;
typedef struct _Pixmap *PixmapPtr;
+typedef struct _PixmapDirtyUpdate *PixmapDirtyUpdatePtr;
+
typedef union _PixUnion {
PixmapPtr pixmap;
unsigned long pixel;
@@ -112,4 +115,17 @@ extern _X_EXPORT void FreePixmap(PixmapPtr /*pPixmap */ );
extern _X_EXPORT PixmapPtr
PixmapShareToSlave(PixmapPtr pixmap, ScreenPtr slave);
+extern _X_EXPORT Bool
+PixmapStartDirtyTracking(PixmapPtr src,
+ PixmapPtr slave_dst,
+ int x, int y);
+
+extern _X_EXPORT Bool
+PixmapStopDirtyTracking(PixmapPtr src, PixmapPtr slave_dst);
+
+/* helper function, drivers can do this themselves if they can do it more
+ efficently */
+extern _X_EXPORT Bool
+PixmapSyncDirtyHelper(PixmapDirtyUpdatePtr dirty, RegionPtr dirty_region);
+
#endif /* PIXMAP_H */
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)
{
diff --git a/include/scrnintstr.h b/include/scrnintstr.h
index 3a738d3b0..5ef37ed9a 100644
--- a/include/scrnintstr.h
+++ b/include/scrnintstr.h
@@ -505,6 +505,8 @@ typedef struct _Screen {
StartPixmapTrackingProcPtr StartPixmapTracking;
StopPixmapTrackingProcPtr StopPixmapTracking;
+
+ struct xorg_list pixmap_dirty_list;
} ScreenRec;
static inline RegionPtr