summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sna/kgem.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 32d3fa0a..fd5679ae 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1107,7 +1107,7 @@ bool kgem_retire(struct kgem *kgem)
}
kgem->need_retire = !list_is_empty(&kgem->requests);
- if (!kgem->need_retire && kgem->ring)
+ if (kgem->ring && (kgem->has_semaphores || !kgem->need_retire))
kgem->ring = kgem->mode;
DBG(("%s -- need_retire=%d\n", __FUNCTION__, kgem->need_retire));
@@ -1412,8 +1412,6 @@ void kgem_reset(struct kgem *kgem)
kgem->nbatch = 0;
kgem->surface = kgem->max_batch_size;
kgem->mode = KGEM_NONE;
- if (kgem->has_semaphores)
- kgem->ring = KGEM_NONE;
kgem->flush = 0;
kgem->scanout = 0;