summaryrefslogtreecommitdiff
path: root/src/sna/sna_dri2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna/sna_dri2.c')
-rw-r--r--src/sna/sna_dri2.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 0e184567..54504346 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -1110,13 +1110,12 @@ static void sna_dri2_select_mode(struct sna *sna, struct kgem_bo *dst, struct kg
* The ultimate question is whether preserving the ring outweighs
* the cost of the query.
*/
- if (popcount(busy.busy >> 16) > 1)
- mode = busy.busy & 0xffff ? KGEM_BLT : KGEM_RENDER;
- else if (busy.busy & (0xfffe << 16))
+ mode = KGEM_RENDER;
+ if ((busy.busy & 0xffff) == KGEM_BLT)
mode = KGEM_BLT;
- else
- mode = KGEM_RENDER;
- kgem_bo_mark_busy(&sna->kgem, busy.handle == src->handle ? src : dst, mode);
+ kgem_bo_mark_busy(&sna->kgem,
+ busy.handle == src->handle ? src : dst,
+ mode);
_kgem_set_mode(&sna->kgem, mode);
}