Accepting request 382536 from home:tobijk:X11:XOrg
- Add patch U_present-Only-requeue-for-next-MSC-after-flip-failure.patch Fix a hang while using the present extension Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94515 https://bugs.freedesktop.org/show_bug.cgi?id=94596 OBS-URL: https://build.opensuse.org/request/show/382536 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=623
This commit is contained in:
parent
a53b8160f0
commit
7c91935636
44
U_present-Only-requeue-for-next-MSC-after-flip-failure.patch
Normal file
44
U_present-Only-requeue-for-next-MSC-after-flip-failure.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From 07ad2fde78f07e98caaf3e9b6b67af15359fefe4 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] 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>
|
||||||
|
(cherry picked from commit 3b385105b2d19a1c55e9779ae88d775185eea231)
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 31 14:27:29 UTC 2016 - tobias.johannes.klausmann@mni.thm.de
|
||||||
|
|
||||||
|
- Add patch U_present-Only-requeue-for-next-MSC-after-flip-failure.patch
|
||||||
|
Fix a hang while using the present extension
|
||||||
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94515
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=94596
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 29 08:56:43 UTC 2016 - eich@suse.com
|
Tue Mar 29 08:56:43 UTC 2016 - eich@suse.com
|
||||||
|
|
||||||
|
@ -202,6 +202,8 @@ Patch1229: U_kdrive-introduce-input-hot-plugging-support-for-udev.patch
|
|||||||
Patch1230: U_kdrive-add-options-to-set-default-XKB-properties.patch
|
Patch1230: U_kdrive-add-options-to-set-default-XKB-properties.patch
|
||||||
Patch1232: U_config-udev-distinguish-between-real-keyboards-and-o.patch
|
Patch1232: U_config-udev-distinguish-between-real-keyboards-and-o.patch
|
||||||
|
|
||||||
|
Patch1300: U_present-Only-requeue-for-next-MSC-after-flip-failure.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the X.Org Server.
|
This package contains the X.Org Server.
|
||||||
|
|
||||||
@ -330,6 +332,8 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
|||||||
|
|
||||||
%patch1232 -p1
|
%patch1232 -p1
|
||||||
|
|
||||||
|
%patch1300 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
test -e source-file-list || \
|
test -e source-file-list || \
|
||||||
find . -type f \! -name '*.orig' \! -path ./source-file-list > \
|
find . -type f \! -name '*.orig' \! -path ./source-file-list > \
|
||||||
|
Loading…
Reference in New Issue
Block a user