From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-gx0-f172.google.com ([209.85.161.172]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1SF4Nl-0001PO-Em for ptxdist@pengutronix.de; Tue, 03 Apr 2012 16:06:51 +0200 Received: by ggmi1 with SMTP id i1so1973100ggm.31 for ; Tue, 03 Apr 2012 07:06:43 -0700 (PDT) From: George McCollister Date: Tue, 3 Apr 2012 09:04:51 -0500 Message-Id: <1333461891-10630-1-git-send-email-george.mccollister@gmail.com> Subject: [ptxdist] [PATCH] xorg-server: fix neg sync transition Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de gnome-screen saver fades out to black before activating. A bug in xorg-server prevents the fade out from being interrupted by moving the cursor. Added patch 204_fix-neg-sync-transition.patch from: xorg-server_1.9.0-0ubuntu7.6.diff.gz https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/595555 https://bugzilla.redhat.com/show_bug.cgi?id=612620 There are been quite a lot of other fixes in the xorg-server 1.9 branch. It would probably be a good idea update. http://cgit.freedesktop.org/xorg/xserver/log/?h=server-1.9-branch Signed-off-by: George McCollister --- .../204_fix-neg-sync-transition.patch | 84 ++++++++++++++++++++ patches/xorg-server-1.9.3/series | 1 + 2 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch diff --git a/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch new file mode 100644 index 0000000..f10fb32 --- /dev/null +++ b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch @@ -0,0 +1,84 @@ +commit da218289275e67e49d801d58dd818d237de8a9bc +Author: Christopher James Halse Rogers +Date: Tue Aug 24 13:30:25 2010 +1000 + + Xext: Fix edge case with {Positive,Negative}Transition triggers. + + The {Positive,Negative}Transition triggers only fire when the counter + goes from strictly {below,above} the threshold. If + SyncComputeBracketValues gets called exactly at this threshold we may update + the bracket values so that the counter is not updated past the threshold. + + Signed-off-by: Christopher James Halse Rogers + +diff --git a/Xext/sync.c b/Xext/sync.c +index a51262a..c00e692 100644 +--- a/Xext/sync.c ++++ b/Xext/sync.c +@@ -959,6 +959,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) + { + psci->bracket_less = pTrigger->test_value; + pnewltval = &psci->bracket_less; ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && ++ XSyncValueLessThan(pTrigger->test_value, ++ psci->bracket_greater)) ++ { ++ /* ++ * The value is exactly equal to our threshold. We want one ++ * more event in the positive direction to ensure we pick up ++ * when the value *exceeds* this threshold. ++ */ ++ psci->bracket_greater = pTrigger->test_value; ++ pnewgtval = &psci->bracket_greater; + } + } + else if (pTrigger->test_type == XSyncPositiveTransition && +@@ -969,6 +980,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) + { + psci->bracket_greater = pTrigger->test_value; + pnewgtval = &psci->bracket_greater; ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && ++ XSyncValueGreaterThan(pTrigger->test_value, ++ psci->bracket_less)) ++ { ++ /* ++ * The value is exactly equal to our threshold. We want one ++ * more event in the negative direction to ensure we pick up ++ * when the value is less than this threshold. ++ */ ++ psci->bracket_less = pTrigger->test_value; ++ pnewltval = &psci->bracket_less; + } + } + } /* end for each trigger */ +commit d9e9c0c3cf0456f78b6eed3290e6a418e38963fb +Author: Christopher James Halse Rogers +Date: Tue Aug 24 13:35:05 2010 +1000 + + IDLETIME: Fix edge-case in IdleTimeBlockHandler + + Ensure that if we're called exactly on the threshold of a + NegativeTransition trigger that we reshedule to pick up + an idle time over the threshold. + + Signed-off-by: Christopher James Halse Rogers + +diff --git a/Xext/sync.c b/Xext/sync.c +index c00e692..314b63e 100644 +--- a/Xext/sync.c ++++ b/Xext/sync.c +@@ -2322,6 +2322,14 @@ IdleTimeBlockHandler(pointer env, struct timeval **wt, pointer LastSelectMask) + break; + } + } ++ /* ++ * We've been called exactly on the idle time, but we have a ++ * NegativeTransition trigger which requires a transition from an ++ * idle time greater than this. Schedule a wakeup for the next ++ * millisecond so we won't miss a transition. ++ */ ++ if (XSyncValueEqual (idle, *pIdleTimeValueLess)) ++ AdjustWaitForDelay(wt, 1); + } + else if (pIdleTimeValueGreater) + { diff --git a/patches/xorg-server-1.9.3/series b/patches/xorg-server-1.9.3/series index aa40d1d..2050ec2 100644 --- a/patches/xorg-server-1.9.3/series +++ b/patches/xorg-server-1.9.3/series @@ -3,3 +3,4 @@ loader-when-creating-sdksyms.c-only-include-shmint.h.patch remove_udev_if_disabled.diff remove_dbus_if_disabled.diff remove_hal_if_disabled.diff +204_fix-neg-sync-transition.patch -- 1.7.8.4 -- ptxdist mailing list ptxdist@pengutronix.de