summaryrefslogtreecommitdiff
path: root/src/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-12-05 09:55:43 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2010-12-05 09:57:52 +0000
commit8abade8a2139b500251488be5d6390f149666fb2 (patch)
tree745ee12de71fdde2db89470cc0f6069bf3139d90 /src/intel_display.c
parent8450aba6c731b20e5cd7b55f1d747f00a6523291 (diff)
display: Flush any pending batches before changing modes.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/intel_display.c')
-rw-r--r--src/intel_display.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/intel_display.c b/src/intel_display.c
index b5ccfe9b..bb8d7085 100644
--- a/src/intel_display.c
+++ b/src/intel_display.c
@@ -442,6 +442,8 @@ intel_crtc_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
crtc->y = y;
crtc->rotation = rotation;
+ intel_batch_submit(crtc->scrn, TRUE);
+
mode_to_kmode(crtc->scrn, &intel_crtc->kmode, mode);
ret = intel_crtc_apply(crtc);
if (!ret) {
@@ -1349,6 +1351,8 @@ intel_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height)
if (scrn->virtualX == width && scrn->virtualY == height)
return TRUE;
+ intel_batch_submit(scrn, TRUE);
+
old_width = scrn->virtualX;
old_height = scrn->virtualY;
old_pitch = scrn->displayWidth;