From efe5c737ed20f2a0b14b479b14eccaf1963d5e01 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 17 Oct 2013 11:32:39 +0100 Subject: [PATCH] sna/dri: Refactor to use the common GPU damage routine Signed-off-by: Chris Wilson --- src/sna/sna_dri.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index e7b98dae..0b8923b8 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -460,7 +460,7 @@ static void sna_dri_reference_buffer(DRI2BufferPtr buffer) get_private(buffer)->refcnt++; } -static void damage(PixmapPtr pixmap, struct sna_pixmap *priv, RegionPtr region) +static inline void damage(PixmapPtr pixmap, struct sna_pixmap *priv, RegionPtr region) { assert(priv->gpu_bo); if (DAMAGE_IS_ALL(priv->gpu_damage)) @@ -472,6 +472,7 @@ damage_all: pixmap->drawable.width, pixmap->drawable.height); sna_damage_destroy(&priv->cpu_damage); + list_del(&priv->flush_list); } else { sna_damage_subtract(&priv->cpu_damage, region); if (priv->cpu_damage == NULL) @@ -512,13 +513,7 @@ static void set_bo(PixmapPtr pixmap, struct kgem_bo *bo) region.data = NULL; DamageRegionAppend(&pixmap->drawable, ®ion); - sna_damage_all(&priv->gpu_damage, - pixmap->drawable.width, - pixmap->drawable.height); - sna_damage_destroy(&priv->cpu_damage); - list_del(&priv->flush_list); - priv->cpu = false; - priv->clear = false; + damage(pixmap, priv, NULL); assert(bo->refcnt); if (priv->gpu_bo != bo) {