summaryrefslogtreecommitdiff
path: root/src/sna/gen6_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-04-01 17:45:31 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-04-01 23:13:29 +0100
commitf00599f971cdde1c5006764f4b6ef08ad4a4eb17 (patch)
tree8bd3710610619750a64bdd9c264c5a797790a2e7 /src/sna/gen6_render.c
parent61d2baa430dba6eb282167c61d7df1034d5acca7 (diff)
sna/dri: Avoid using the BLT for DRI2CopyRegion if no semaphores
We expect mesa nowadays to preferentially use the render pipeline for doing its clears and so want to avoid handing it back an active BLT bo if we don't have semaphores (as that would cause a sync). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen6_render.c')
-rw-r--r--src/sna/gen6_render.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index afebab40..7878e7bc 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -2684,6 +2684,9 @@ static inline bool prefer_blt_copy(struct sna *sna,
if (sna->kgem.ring == KGEM_BLT)
return true;
+ if (flags & COPY_DRI && !sna->kgem.has_semaphores)
+ return false;
+
if ((flags & COPY_SMALL || src_bo == dst_bo) &&
can_switch_to_blt(sna, dst_bo, flags))
return true;