[arch-commits] Commit in xorg-server/trunk (PKGBUILD git-fixes.diff)

Laurent Carlier lcarlier at archlinux.org
Tue Jan 10 08:11:03 UTC 2017


    Date: Tuesday, January 10, 2017 @ 08:11:02
  Author: lcarlier
Revision: 285624

upgpkg: xorg-server 1.19.0-5

add an upstream present fix

Modified:
  xorg-server/trunk/PKGBUILD
  xorg-server/trunk/git-fixes.diff

----------------+
 PKGBUILD       |    5 +++--
 git-fixes.diff |   40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-01-10 04:44:41 UTC (rev 285623)
+++ PKGBUILD	2017-01-10 08:11:02 UTC (rev 285624)
@@ -5,7 +5,7 @@
 pkgbase=xorg-server
 pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
 pkgver=1.19.0
-pkgrel=4
+pkgrel=5
 arch=('i686' 'x86_64')
 license=('custom')
 groups=('xorg')
@@ -28,7 +28,7 @@
             'SKIP'
             'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
             '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
-            '63e37008fdbd0c3630db38b995d3be8891b9c2cabb46cb4dc3596ba988a259cd')
+            '15ae819f97b16e88974986d71c832b99fa220e8223ccaf171513e9e4c73f84dd')
 
 prepare() {
   cd "${pkgbase}-${pkgver}"
@@ -36,6 +36,7 @@
   # Revert "damage: Make damageRegionProcessPending take a damage not a drawable"
   # os: return 0 from check_timers if we touched any of them
   # glamor: Trust eglGetPlatformDisplayEXT if it exists
+  # present: Only call present_flip_notify if vblank->queued == FALSE
   patch -Np1 -i ../git-fixes.diff
 }
 

Modified: git-fixes.diff
===================================================================
--- git-fixes.diff	2017-01-10 04:44:41 UTC (rev 285623)
+++ git-fixes.diff	2017-01-10 08:11:02 UTC (rev 285624)
@@ -611,4 +611,44 @@
 -- 
 cgit v0.10.2
 
+From e473b2bc016adacfe3fa47fdf6a8ce9f8cddff62 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer at amd.com>
+Date: Fri, 25 Nov 2016 17:34:05 +0900
+Subject: present: Only call present_flip_notify if vblank->queued == FALSE
 
+We are no longer using the present_flip_queue list only for presents
+which have already been submitted to the driver for page flipping, but
+also for those which we are queueing up to be flipped later, marked
+with vblank->queued == TRUE. We were incorrectly calling
+present_flip_notify for such entries, failing the assertion in
+present_flip_notify (or presumably resulting in other undesirable
+behaviour with assertions disabled).
+
+Reproduction recipe: Run the JavaFX test case referenced by
+https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out
+of it while it's fullscreen. May take a few attempts to hit the
+assertion failure.
+
+Fixes: bab0f450a719 ("present: Fix presentation of flips out of order")
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854
+Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
+
+diff --git a/present/present.c b/present/present.c
+index a7ca06e..ef89045 100644
+--- a/present/present.c
++++ b/present/present.c
+@@ -536,7 +536,10 @@ present_event_notify(uint64_t event_id, uint64_t ust, uint64_t msc)
+     }
+     xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) {
+         if (vblank->event_id == event_id) {
+-            present_flip_notify(vblank, ust, msc);
++            if (vblank->queued)
++                present_execute(vblank, ust, msc);
++            else
++                present_flip_notify(vblank, ust, msc);
+             return;
+         }
+     }
+-- 
+cgit v0.10.2
+



More information about the arch-commits mailing list