summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-03-12 19:45:35 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-03-12 19:45:35 +0000
commit28792be1f31190171644d911d7b5573186fe2df2 (patch)
tree52ecc2f38a67ca75c353e99d9cf34512fc4ff702
parent278c329b9e2aa9a94bd0d0ee73939814ac514e3d (diff)
sna/display: Only flush pending output when installing a new scanout
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 676125d0..9401ca45 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -634,8 +634,10 @@ sna_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
sna_mode->fb_pixmap,
sna->front->drawable.serialNumber));
- if (sna_mode->fb_pixmap != sna->front->drawable.serialNumber)
+ if (sna_mode->fb_pixmap != sna->front->drawable.serialNumber) {
+ kgem_submit(&sna->kgem);
sna_mode_remove_fb(sna);
+ }
if (sna_mode->fb_id == 0) {
struct kgem_bo *bo = sna_pixmap_pin(sna->front);
@@ -677,8 +679,6 @@ sna_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
crtc->y = y;
crtc->rotation = rotation;
- kgem_submit(&sna->kgem);
-
mode_to_kmode(&sna_crtc->kmode, mode);
if (!sna_crtc_apply(crtc)) {
crtc->x = saved_x;