diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c index 89ecb65d..435d22ef 100644 --- a/src/sna/sna_dri.c +++ b/src/sna/sna_dri.c @@ -461,6 +461,12 @@ static void sna_dri_select_mode(struct sna *sna, struct kgem_bo *src, bool sync) return; } + if (sna->kgem.has_semaphores) { + DBG(("%s: have sempahores, prefering RENDER\n", __FUNCTION__)); + kgem_set_mode(&sna->kgem, KGEM_RENDER); + return; + } + VG_CLEAR(busy); busy.handle = src->handle; if (drmIoctl(sna->kgem.fd, DRM_IOCTL_I915_GEM_BUSY, &busy))