summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-01-13 13:52:10 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-01-14 18:13:47 +0000
commit5dbcfc2ee3af64846298dbcb20db27c93b3d57f2 (patch)
treedaea62d02fbecdc6e8625fb46fc8513b1572ee3e
parent20ff4a1d73cc10e1f53050b19b8799ccbb5c7d04 (diff)
sna: Be more lenient in not forcing to the GPU if the sources have CPU damage
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/gen2_render.c4
-rw-r--r--src/sna/gen3_render.c4
-rw-r--r--src/sna/gen4_render.c4
-rw-r--r--src/sna/gen5_render.c4
-rw-r--r--src/sna/gen6_render.c4
-rw-r--r--src/sna/gen7_render.c4
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;