diff options
author | Mattias Andrée <maandree@kth.se> | 2016-04-01 18:58:44 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2016-04-01 18:58:44 +0200 |
commit | 17df6287199f6c2265a35b56f210bbd718cb2ff7 (patch) | |
tree | 303d2cf8dfeb4191d822c847d5525a2f09aca30a /xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch | |
parent | m (diff) | |
download | aur-packages-17df6287199f6c2265a35b56f210bbd718cb2ff7.tar.gz aur-packages-17df6287199f6c2265a35b56f210bbd718cb2ff7.tar.bz2 aur-packages-17df6287199f6c2265a35b56f210bbd718cb2ff7.tar.xz |
update xorg-server-hwcursor-gamma
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r-- | xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch b/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch new file mode 100644 index 0000000..adf5c7a --- /dev/null +++ b/xorg-server-hwcursor-gamma/0001-present-Only-requeue-for-next-MSC-after-flip-failure.patch @@ -0,0 +1,43 @@ +From 3b385105b2d19a1c55e9779ae88d775185eea231 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> +Date: Thu, 24 Mar 2016 17:42:47 +0900 +Subject: [PATCH xserver] present: Only requeue for next MSC after flip failure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This code was added to deal with the driver present hook failing, in +which case we need to wait for the next MSC before executing the +presentation. + +However, it could also take effect in cases where the driver incorrectly +thinks the current MSC matches the target one (e.g. due to the kernel +interface only supporting 32-bit MSC values), in which case it could +result in the presentation getting requeued over and over. + +To prevent such issues, check specifically for the target MSC +immediately following the current MSC. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94596 +Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> +Reviewed-by: Keith Packard <keithp@keithp.com> +--- + present/present.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/present/present.c b/present/present.c +index 55f6aa7..105e2bf 100644 +--- a/present/present.c ++++ b/present/present.c +@@ -726,7 +726,7 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc) + } + + /* If present_flip failed, we may have to requeue for the target MSC */ +- if (msc_is_after(vblank->target_msc, crtc_msc) && ++ if (vblank->target_msc == crtc_msc + 1 && + Success == present_queue_vblank(screen, + vblank->crtc, + vblank->event_id, +-- +2.7.4 + |