diff options
-rw-r--r-- | src/sna/kgem.c | 4 |
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; |