diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 24cd11ea..7a7e2f2a 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -5174,10 +5174,11 @@ static void __kgem_flush(struct kgem *kgem, struct kgem_bo *bo) void kgem_scanout_flush(struct kgem *kgem, struct kgem_bo *bo) { - kgem_bo_submit(kgem, bo); if (!bo->needs_flush) return; + kgem_bo_submit(kgem, bo); + /* If the kernel fails to emit the flush, then it will be forced when * we assume direct access. And as the usual failure is EIO, we do * not actually care. diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index d7291668..a5599077 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -17047,7 +17047,7 @@ static void timer_enable(struct sna *sna, int whom, int interval) static bool sna_scanout_do_flush(struct sna *sna) { - int interval = sna->vblank_interval ?: 20; + int interval = sna->vblank_interval ?: 50; if (sna->timer_active & (1<<(FLUSH_TIMER))) { int32_t delta = sna->timer_expire[FLUSH_TIMER] - TIME; DBG(("%s: flush timer active: delta=%d\n",