[PATCH 28/36] dix/pixmap: track dirty pixmaps in server. (v2)

Adam Jackson ajax at nwnk.net
Mon Jul 2 14:09:36 PDT 2012


On 7/2/12 6:13 AM, Dave Airlie wrote:

> @@ -158,3 +158,94 @@ PixmapPtr PixmapShareToSlave(PixmapPtr pixmap, ScreenPtr slave)
>
>       return spix;
>   }
> +
> +Bool
> +PixmapStartDirtyTracking(PixmapPtr src,
> +                         PixmapPtr dst_slave,
> +                         int x, int y)
> +{
> +    ScreenPtr screen = src->drawable.pScreen;
> +    PixmapDirtyUpdatePtr dirty_update;
> +
> +    dirty_update = calloc(1, sizeof(PixmapDirtyUpdateRec));
> +    if (!dirty_update)
> +        return FALSE;
> +
> +    dirty_update->src = src;
> +    dirty_update->slave_dst = dst_slave;

Bikeshed: slave_dst everywhere would be nice, think this is the only 
place where they're reversed.

> @@ -84,6 +85,13 @@ typedef struct _Pixmap {
>       PixmapPtr master_pixmap;    /* pointer to master copy of pixmap for pixmap sharing */
>   } PixmapRec;
>
> +typedef struct _PixmapDirtyUpdate {
> +    PixmapPtr dst, src, slave_dst;
> +    int x, y;
> +    DamagePtr damage;
> +    struct xorg_list ent;
> +} PixmapDirtyUpdateRec;
> +
>   static inline void
>   PixmapBox(BoxPtr box, PixmapPtr pixmap)
>   {

->dst is never used, if I'm reading things right.

- ajax


More information about the xorg-devel mailing list