From 5dbcfc2ee3af64846298dbcb20db27c93b3d57f2 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 13 Jan 2012 13:52:10 +0000 Subject: [PATCH] sna: Be more lenient in not forcing to the GPU if the sources have CPU damage Signed-off-by: Chris Wilson --- src/sna/gen2_render.c | 4 ++-- src/sna/gen3_render.c | 4 ++-- src/sna/gen4_render.c | 4 ++-- src/sna/gen5_render.c | 4 ++-- src/sna/gen6_render.c | 4 ++-- src/sna/gen7_render.c | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c index 16607636..87f9e8ce 100644 --- a/src/sna/gen2_render.c +++ b/src/sna/gen2_render.c @@ -1542,7 +1542,7 @@ gen2_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -1550,7 +1550,7 @@ gen2_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c index 51469dd1..457e6942 100644 --- a/src/sna/gen3_render.c +++ b/src/sna/gen3_render.c @@ -2367,7 +2367,7 @@ gen3_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -2375,7 +2375,7 @@ gen3_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c index 31468366..972b7187 100644 --- a/src/sna/gen4_render.c +++ b/src/sna/gen4_render.c @@ -1974,7 +1974,7 @@ gen4_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -1982,7 +1982,7 @@ gen4_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c index 017b7ce5..6347b3c7 100644 --- a/src/sna/gen5_render.c +++ b/src/sna/gen5_render.c @@ -2016,7 +2016,7 @@ gen5_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -2024,7 +2024,7 @@ gen5_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 047c0559..cd043c31 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2211,7 +2211,7 @@ gen6_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -2219,7 +2219,7 @@ gen6_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index c00548ee..7a5ee842 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2305,7 +2305,7 @@ gen7_composite_fallback(struct sna *sna, if (src_pixmap && !is_solid(src) && !source_fallback(src)) { priv = sna_pixmap(src_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: src is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE; @@ -2313,7 +2313,7 @@ gen7_composite_fallback(struct sna *sna, } if (mask_pixmap && !is_solid(mask) && !source_fallback(mask)) { priv = sna_pixmap(mask_pixmap); - if (priv && priv->gpu_damage) { + if (priv && priv->gpu_damage && !priv->cpu_damage) { DBG(("%s: mask is already on the GPU, try to use GPU\n", __FUNCTION__)); return FALSE;