From 1516fd706953526d5d0887b80617467751677384 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Feb 15 2016 03:06:59 +0000 Subject: fix issues with reverse prime and present. --- diff --git a/0001-present-fail-flipping-if-we-have-any-slave-outputs.patch b/0001-present-fail-flipping-if-we-have-any-slave-outputs.patch new file mode 100644 index 0000000..104cfc6 --- /dev/null +++ b/0001-present-fail-flipping-if-we-have-any-slave-outputs.patch @@ -0,0 +1,41 @@ +From b0c7318ecc3e3817f8cf3519d229640a1ff73712 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Tue, 9 Feb 2016 16:46:52 +1000 +Subject: [PATCH] present: fail flipping if we have any slave outputs. + +Due to the way present currently works, we don't ever +check with the secondary adapters if we can flip at all. + +We shouldn't flip if the secondary adapters are attached +to the pixmap currently, however using the current check_flip +callback isn't possible as it passes the Window to the driver +(something we shouldn't be doing), so the slave driver can never +get it's own screen ptr back. + +For now to fix the problem just block flips if we have any +slaves configured. We can fix the ABI up later, but this +fix can be backported to stable. + +Signed-off-by: Dave Airlie +--- + present/present.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/present/present.c b/present/present.c +index 8cf3b6f..cb3c7ea 100644 +--- a/present/present.c ++++ b/present/present.c +@@ -122,6 +122,10 @@ present_check_flip(RRCrtcPtr crtc, + if (!screen_priv->info->flip) + return FALSE; + ++ /* Fail to flip if we have slave outputs */ ++ if (!xorg_list_is_empty(&screen->output_slave_list)) ++ return FALSE; ++ + /* Make sure the window hasn't been redirected with Composite */ + window_pixmap = screen->GetWindowPixmap(window); + if (window_pixmap != screen->GetScreenPixmap(screen) && +-- +2.5.0 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 6db860d..048a97f 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -45,7 +45,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.18.1 -Release: 1%{?gitdate:.%{gitdate}}%{dist} +Release: 2%{?gitdate:.%{gitdate}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -91,6 +91,8 @@ Patch7027: xserver-autobind-hotplug.patch # submitted: http://lists.x.org/archives/xorg-devel/2013-October/037996.html Patch9100: exa-only-draw-valid-trapezoids.patch +Patch9101: 0001-present-fail-flipping-if-we-have-any-slave-outputs.patch + # because the display-managers are not ready yet, do not upstream Patch10000: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch @@ -630,6 +632,9 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete %changelog +* Mon Feb 15 2016 Dave Airlie 1.18.1-2 +- fix issues with reverse prime and present. + * Mon Feb 08 2016 Adam Jackson 1.18.1-1 - xserver 1.18.1