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>
This commit is contained in:
Chris Wilson 2012-01-13 13:52:10 +00:00
parent 20ff4a1d73
commit 5dbcfc2ee3
6 changed files with 12 additions and 12 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;