summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--src/sna/gen8_render.c4
-rw-r--r--src/sna/gen9_render.c4
8 files changed, 24 insertions, 8 deletions
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c
index 12b741cc..37ded24c 100644
--- a/src/sna/gen2_render.c
+++ b/src/sna/gen2_render.c
@@ -1619,7 +1619,9 @@ gen2_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index eeea91fe..4459a562 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -3228,7 +3228,9 @@ gen3_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 552da49a..72a98aee 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -1647,7 +1647,9 @@ gen4_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index e162f9fb..fb3e79bf 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -1599,7 +1599,9 @@ gen5_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index ee175935..6b69f216 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1908,7 +1908,9 @@ gen6_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index f707d39e..aabb8693 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -2150,7 +2150,9 @@ gen7_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
index f979ba82..445983b1 100644
--- a/src/sna/gen8_render.c
+++ b/src/sna/gen8_render.c
@@ -1996,7 +1996,9 @@ gen8_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)
diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c
index 7b41cdbd..801d514c 100644
--- a/src/sna/gen9_render.c
+++ b/src/sna/gen9_render.c
@@ -2002,7 +2002,9 @@ gen9_composite_set_target(struct sna *sna,
} else
sna_render_picture_extents(dst, &box);
- hint = PREFER_GPU | FORCE_GPU | RENDER_GPU;
+ hint = PREFER_GPU | RENDER_GPU;
+ if (!need_tiling(sna, op->dst.width, op->dst.height))
+ hint |= FORCE_GPU;
if (!partial) {
hint |= IGNORE_DAMAGE;
if (w == op->dst.width && h == op->dst.height)