debian/changelog | 10 ++++++++-- src/intel_batchbuffer.c | 3 +++ src/intel_display.c | 2 ++ 3 files changed, 13 insertions(+), 2 deletions(-)
New commits: commit b9c7d6dbe0e9bb0d357bce7ed6e43da98e82f49d Author: Cyril Brulebois <k...@debian.org> Date: Mon Dec 6 04:05:16 2010 +0100 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index b332a33..a38ddfe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-video-intel (2:2.13.0-3) UNRELEASED; urgency=low +xserver-xorg-video-intel (2:2.13.0-3) unstable; urgency=low [ Julien Cristau ] * Revert "display: outputs are enabled automatically by KMS". @@ -9,7 +9,7 @@ xserver-xorg-video-intel (2:2.13.0-3) UNRELEASED; urgency=low + a44a63d2: "Wait for any pending rendering before switching modes." Hopefully we should get rid of a number of GPU hangs. - -- Julien Cristau <jcris...@debian.org> Mon, 15 Nov 2010 17:11:30 +0100 + -- Cyril Brulebois <k...@debian.org> Mon, 06 Dec 2010 04:05:07 +0100 xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low commit 5c087e00e3bd804281bcd355f8f8dec6cfcf3c44 Author: Cyril Brulebois <k...@debian.org> Date: Mon Dec 6 04:03:39 2010 +0100 Document the cherry-pick of a44a63d2. That is: "Wait for any pending rendering before switching modes." Hopefully we should get rid of a number of GPU hangs. diff --git a/debian/changelog b/debian/changelog index d044a25..b332a33 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,14 @@ xserver-xorg-video-intel (2:2.13.0-3) UNRELEASED; urgency=low + [ Julien Cristau ] * Revert "display: outputs are enabled automatically by KMS". Closes: #600405. + [ Cyril Brulebois ] + * Cherry-pick from upstream: + + a44a63d2: "Wait for any pending rendering before switching modes." + Hopefully we should get rid of a number of GPU hangs. + -- Julien Cristau <jcris...@debian.org> Mon, 15 Nov 2010 17:11:30 +0100 xserver-xorg-video-intel (2:2.13.0-2) unstable; urgency=low commit 596f85ad9a93045dfdb051a2556b7b741e4ead86 Author: Chris Wilson <ch...@chris-wilson.co.uk> Date: Fri Nov 5 09:58:45 2010 +0000 Wait for any pending rendering before switching modes. A perennial problem we have is the accursed WAIT_FOR_EVENT hangs, which occur when we switch the framebuffer before the WAIT_FOR_EVENT completes and upsets the GPU. We have tried more subtle approaches to detected these and fix them up in the kernel, to no avail. What we need to do is to delay the framebuffer flip until the WAIT completes, which is quite tricky in the kernel without new ioctls and round-trips. Instead, apply the big hammer from userspace and synchronise all rendering before changing the framebuffer. I expect this not to cause noticeable latency on switching modes (far less than the actual modeswitch) and should stop these hangs once and for all. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31401 (...) Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> (cherry picked from commit a44a63d2ff6c01c3dc61de6f736dd441ddd25e52) diff --git a/src/intel_batchbuffer.c b/src/intel_batchbuffer.c index a4802d0..cb1c5f2 100644 --- a/src/intel_batchbuffer.c +++ b/src/intel_batchbuffer.c @@ -261,6 +261,9 @@ void intel_batch_wait_last(ScrnInfoPtr scrn) { intel_screen_private *intel = intel_get_screen_private(scrn); + if (intel->last_batch_bo == NULL) + return; + /* Map it CPU write, which guarantees it's done. This is a completely * non performance path, so we don't need anything better. */ diff --git a/src/intel_display.c b/src/intel_display.c index d32224e..7eef80b 100644 --- a/src/intel_display.c +++ b/src/intel_display.c @@ -359,6 +359,8 @@ intel_crtc_apply(xf86CrtcPtr crtc) crtc->gamma_blue, crtc->gamma_size); #endif + /* drain any pending waits on the current framebuffer */ + intel_batch_wait_last(crtc->scrn); x = crtc->x; y = crtc->y; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1pprlu-0001cw...@alioth.debian.org