summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;