[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 debian/changelog                                                      |   22 
 debian/patches/glamor-swizzle-red-to-0-for-alpha-textures.diff        |   31 
 debian/patches/make-sure-hw-cursor-is-hidden-when-it-should.diff      |   36 
 debian/patches/os-treat-ssh-as-a-non-local-client.diff                |   97 ++
 debian/patches/present-only-requeue-for-next-msc-after-flip-fail.diff |   35 
 debian/patches/series                                                 |    8 
 debian/patches/vidmode-reduce-verbosity-of-getmodeline.diff           |  372 ++++++++++
 7 files changed, 600 insertions(+), 1 deletion(-)

New commits:
commit f490b1a14ae0b562fcce67b2daac7656a906ff83
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Tue Mar 29 10:46:07 2016 +0300

    update changelog

diff --git a/debian/changelog b/debian/changelog
index 0e160a0..7615660 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,15 +1,4 @@
-xorg-server (2:1.18.2-3) unstable; urgency=medium
-
-  * regression fixes part2:
-    - replace revert-eb5108b870.diff with patch from upstream
-    - make-sure-hw-cursor-is-hidden-when-it-should.diff: Don't show an
-      extra cursor in some cases
-  * os-treat-ssh-as-a-non-local-client.diff: Allow remote clients to work
-    with DRI3.
-
- -- Timo Aaltonen <tjaalton@debian.org>  Tue, 29 Mar 2016 10:38:47 +0300
-
-xorg-server (2:1.18.2-2ubuntu1) UNRELEASED; urgency=medium
+xorg-server (2:1.18.2-3ubuntu1) UNRELEASED; urgency=medium
 
   * Merge from Debian.
   * fix-xineramaqueryscreens-for-reverse-prime.diff,
@@ -22,6 +11,17 @@ xorg-server (2:1.18.2-2ubuntu1) UNRELEASED; urgency=medium
 
  -- Timo Aaltonen <tjaalton@debian.org>  Sat, 12 Mar 2016 08:59:43 +0200
 
+xorg-server (2:1.18.2-3) unstable; urgency=medium
+
+  * regression fixes part2:
+    - replace revert-eb5108b870.diff with patch from upstream
+    - make-sure-hw-cursor-is-hidden-when-it-should.diff: Don't show an
+      extra cursor in some cases
+  * os-treat-ssh-as-a-non-local-client.diff: Allow remote clients to work
+    with DRI3.
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 29 Mar 2016 10:38:47 +0300
+
 xorg-server (2:1.18.2-2) unstable; urgency=medium
 
   * regression fixes/workarounds:

commit fe1d88778d3940550f30b85a7323fc1e3935eaaa
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Tue Mar 29 10:39:02 2016 +0300

    release to unstable

diff --git a/debian/changelog b/debian/changelog
index 2374ba2..9169531 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.18.2-3) UNRELEASED; urgency=medium
+xorg-server (2:1.18.2-3) unstable; urgency=medium
 
   * regression fixes part2:
     - replace revert-eb5108b870.diff with patch from upstream
@@ -7,7 +7,7 @@ xorg-server (2:1.18.2-3) UNRELEASED; urgency=medium
   * os-treat-ssh-as-a-non-local-client.diff: Allow remote clients to work
     with DRI3.
 
- -- Timo Aaltonen <tjaalton@debian.org>  Tue, 29 Mar 2016 10:16:23 +0300
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 29 Mar 2016 10:38:47 +0300
 
 xorg-server (2:1.18.2-2) unstable; urgency=medium
 

commit 99ea495eaeacfcbe5defa412d6922a0966c27c3a
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Tue Mar 29 10:34:50 2016 +0300

    more regression fixes, plus fix remote clients with DRI3

diff --git a/debian/changelog b/debian/changelog
index 24902b1..2374ba2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+xorg-server (2:1.18.2-3) UNRELEASED; urgency=medium
+
+  * regression fixes part2:
+    - replace revert-eb5108b870.diff with patch from upstream
+    - make-sure-hw-cursor-is-hidden-when-it-should.diff: Don't show an
+      extra cursor in some cases
+  * os-treat-ssh-as-a-non-local-client.diff: Allow remote clients to work
+    with DRI3.
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 29 Mar 2016 10:16:23 +0300
+
 xorg-server (2:1.18.2-2) unstable; urgency=medium
 
   * regression fixes/workarounds:
diff --git a/debian/patches/make-sure-hw-cursor-is-hidden-when-it-should.diff b/debian/patches/make-sure-hw-cursor-is-hidden-when-it-should.diff
new file mode 100644
index 0000000..4e1b26b
--- /dev/null
+++ b/debian/patches/make-sure-hw-cursor-is-hidden-when-it-should.diff
@@ -0,0 +1,36 @@
+commit 418fe365b45a143680d3b4143dc60f7cdc5a3507
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date:   Thu Mar 24 17:34:23 2016 +0900
+
+    xfree86/modes: Make sure the HW cursor is hidden when it should be
+    
+    When the HW cursor is hidden (e.g. because xf86CursorResetCursor
+    triggers a switch from HW cursor to SW cursor), the driver isn't
+    notified of this for disabled CRTCs. If the HW cursor was shown when the
+    CRTC was disabled, it may still be displayed when the CRTC is enabled
+    again.
+    
+    Prevent this by explicitly hiding the HW cursor again after setting a
+    mode if it's currently supposed to be hidden.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94560
+    Reviewed-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index 2639a30..6091b5e 100644
+--- a/hw/xfree86/modes/xf86Crtc.c
++++ b/hw/xfree86/modes/xf86Crtc.c
+@@ -368,6 +368,12 @@ xf86CrtcSetModeTransform(xf86CrtcPtr crtc, DisplayModePtr mode,
+             xf86CrtcSetScreenSubpixelOrder(scrn->pScreen);
+         if (scrn->ModeSet)
+             scrn->ModeSet(scrn);
++
++        /* Make sure the HW cursor is hidden if it's supposed to be, in case
++         * it was hidden while the CRTC was disabled
++         */
++        if (!xf86_config->cursor_on)
++            xf86_hide_cursors(scrn);
+     }
+     else {
+         crtc->x = saved_x;
diff --git a/debian/patches/os-treat-ssh-as-a-non-local-client.diff b/debian/patches/os-treat-ssh-as-a-non-local-client.diff
new file mode 100644
index 0000000..0b879bf
--- /dev/null
+++ b/debian/patches/os-treat-ssh-as-a-non-local-client.diff
@@ -0,0 +1,97 @@
+commit adefbaee499b9679c6cac21f52ec6545af2b36b5
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Mar 28 18:11:09 2016 +0900
+
+    os: Treat ssh as a non-local client (v4)
+    
+    By the time we get to ComputeLocalClient, we've already done
+    NextAvailableClient → ReserveClientIds → DetermineClientCmd (assuming
+    we're built with #define CLIENTIDS), so we can look up the name of the
+    client process and refuse to treat ssh's X forwarding as if it were
+    local.
+    
+    v2: (Michel Dänzer)
+        * Only match "ssh" itself, not other executable names starting with
+          that prefix.
+        * Ignore executable path for the match.
+    v3: (Michel Dänzer)
+        * Use GetClientCmdName (Mark Kettenis)
+        * Perform check on Windows as well, but only ignore path on Cygwin
+          (Martin Peres, Emil Velikov, Jon Turney)
+    v4: (Michel Dänzer)
+        * Cut of any colon and whatever comes after it. (Adam Jackson)
+        * Add bugzilla reference.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93261
+    
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+
+diff --git a/os/access.c b/os/access.c
+index 8b2177f..58f95a9 100644
+--- a/os/access.c
++++ b/os/access.c
+@@ -173,6 +173,10 @@ SOFTWARE.
+ 
+ #endif                          /* WIN32 */
+ 
++#if !defined(WIN32) || defined(__CYGWIN__)
++#include <libgen.h>
++#endif
++
+ #define X_INCLUDE_NETDB_H
+ #include <X11/Xos_r.h>
+ 
+@@ -1080,9 +1084,8 @@ ResetHosts(const char *display)
+     }
+ }
+ 
+-/* Is client on the local host */
+-Bool
+-ComputeLocalClient(ClientPtr client)
++static Bool
++xtransLocalClient(ClientPtr client)
+ {
+     int alen, family, notused;
+     Xtransaddr *from = NULL;
+@@ -1115,6 +1118,40 @@ ComputeLocalClient(ClientPtr client)
+     return FALSE;
+ }
+ 
++/* Is client on the local host */
++Bool
++ComputeLocalClient(ClientPtr client)
++{
++    const char *cmdname = GetClientCmdName(client);
++
++    if (!xtransLocalClient(client))
++        return FALSE;
++
++    /* If the executable name is "ssh", assume that this client connection
++     * is forwarded from another host via SSH
++     */
++    if (cmdname) {
++        char **cmd;
++        Bool ret;
++
++        /* Cut off any colon and whatever comes after it, see
++         * https://lists.freedesktop.org/archives/xorg-devel/2015-December/048164.html
++         */
++        cmd = xstrtokenize(cmdname, ":");
++
++#if !defined(WIN32) || defined(__CYGWIN__)
++        cmd[0] = basename(cmd[0]);
++#endif
++
++        ret = strcmp(cmd[0], "ssh") != 0;
++        free(cmd);
++
++        return ret;
++    }
++
++    return TRUE;
++}
++
+ /*
+  * Return the uid and all gids of a connected local client
+  * Allocates a LocalClientCredRec - caller must call FreeLocalClientCreds
diff --git a/debian/patches/present-only-requeue-for-next-msc-after-flip-fail.diff b/debian/patches/present-only-requeue-for-next-msc-after-flip-fail.diff
new file mode 100644
index 0000000..6794fc7
--- /dev/null
+++ b/debian/patches/present-only-requeue-for-next-msc-after-flip-fail.diff
@@ -0,0 +1,35 @@
+commit 3b385105b2d19a1c55e9779ae88d775185eea231
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date:   Thu Mar 24 17:42:47 2016 +0900
+
+    present: Only requeue for next MSC after flip failure
+    
+    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>
+
+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,
diff --git a/debian/patches/revert-eb5108b870.diff b/debian/patches/revert-eb5108b870.diff
deleted file mode 100644
index 0b4e59d..0000000
--- a/debian/patches/revert-eb5108b870.diff
+++ /dev/null
@@ -1,35 +0,0 @@
-this reverts:
-
-commit eb5108b87017128f394ae31b5b7cd85dd8819bca
-Author: Michel Dänzer <michel.daenzer@amd.com>
-Date:   Wed Feb 24 16:52:58 2016 +0900
-
-    present: Requeue if flip driver hook fails and target MSC not reached
-
-some intel users suffer from frozen X because of it
-
-diff --git b/present/present.c a/present/present.c
-index 7f9fc17..17ec526 100644
---- b/present/present.c
-+++ a/present/present.c
-@@ -712,20 +712,6 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
-             if (window == screen_priv->flip_window)
-                 present_unflip(screen);
-         }
--
--        /* If present_flip failed, we may have to requeue for the target MSC */
--        if (msc_is_after(vblank->target_msc, crtc_msc) &&
--            Success == present_queue_vblank(screen,
--                                            vblank->crtc,
--                                            vblank->event_id,
--                                            vblank->target_msc)) {
--            xorg_list_add(&vblank->event_queue, &present_exec_queue);
--            xorg_list_append(&vblank->window_list,
--                             &present_get_window_priv(window, TRUE)->vblank);
--            vblank->queued = TRUE;
--            return;
--        }
--
-         present_copy_region(&window->drawable, vblank->pixmap, vblank->update, vblank->x_off, vblank->y_off);
- 
-         /* present_copy_region sticks the region into a scratch GC,
diff --git a/debian/patches/series b/debian/patches/series
index 5440ad0..4429400 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,4 +9,7 @@
 # 1.18.2 regression fixes/workarounds
 vidmode-reduce-verbosity-of-getmodeline.diff
 glamor-swizzle-red-to-0-for-alpha-textures.diff
-revert-eb5108b870.diff
+present-only-requeue-for-next-msc-after-flip-fail.diff
+make-sure-hw-cursor-is-hidden-when-it-should.diff
+
+os-treat-ssh-as-a-non-local-client.diff

commit 481e6de95910ffbe9794c004bde956003ace50d1
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Tue Mar 22 09:47:36 2016 +0200

    release to unstable

diff --git a/debian/changelog b/debian/changelog
index 01b83b0..24902b1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-xorg-server (2:1.18.2-2) UNRELEASED; urgency=medium
+xorg-server (2:1.18.2-2) unstable; urgency=medium
 
   * regression fixes/workarounds:
     vidmode-reduce-verbosity-of-getmodeline.diff (Closes: #818634)
     glamor-swizzle-red-to-0-for-alpha-textures.diff
     revert-eb5108b870.diff (Closes: #818172)
 
- -- Timo Aaltonen <tjaalton@debian.org>  Tue, 22 Mar 2016 09:37:39 +0200
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 22 Mar 2016 09:47:25 +0200
 
 xorg-server (2:1.18.2-1) unstable; urgency=medium
 

commit 31f5363b11f4e39e04639616315c8e722ff89b38
Author: Timo Aaltonen <tjaalton@debian.org>
Date:   Tue Mar 22 09:42:30 2016 +0200

    add some regression fixes from upstream, and one revert

diff --git a/debian/changelog b/debian/changelog
index f3d2dbc..01b83b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.18.2-2) UNRELEASED; urgency=medium
+
+  * regression fixes/workarounds:
+    vidmode-reduce-verbosity-of-getmodeline.diff (Closes: #818634)
+    glamor-swizzle-red-to-0-for-alpha-textures.diff
+    revert-eb5108b870.diff (Closes: #818172)
+
+ -- Timo Aaltonen <tjaalton@debian.org>  Tue, 22 Mar 2016 09:37:39 +0200
+
 xorg-server (2:1.18.2-1) unstable; urgency=medium
 
   * New upstream release. (Closes: #814982)
diff --git a/debian/patches/glamor-swizzle-red-to-0-for-alpha-textures.diff b/debian/patches/glamor-swizzle-red-to-0-for-alpha-textures.diff
new file mode 100644
index 0000000..e7220a9
--- /dev/null
+++ b/debian/patches/glamor-swizzle-red-to-0-for-alpha-textures.diff
@@ -0,0 +1,31 @@
+commit a288cf58a0dc0f965a6f964c76bb86bb1989d797
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Wed Mar 16 10:45:54 2016 +1000
+
+    glamor: swizzle RED to 0 for alpha textures
+    
+    I'm pretty sure Eric suspected this could cause a problem, and we
+    couldn't find a test. Well loading feedly in firefox seems to trigger
+    badness that this solves.
+    
+    bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94554
+    Reviewed-by: Adam Jackson <ajax@redhat.com>
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+    Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
+
+diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
+index a531f60..f4f8749 100644
+--- a/glamor/glamor_fbo.c
++++ b/glamor/glamor_fbo.c
+@@ -352,8 +352,10 @@ _glamor_create_tex(glamor_screen_private *glamor_priv,
+     glBindTexture(GL_TEXTURE_2D, tex);
+     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+-    if (format == glamor_priv->one_channel_format && format == GL_RED)
++    if (format == glamor_priv->one_channel_format && format == GL_RED) {
++        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_ZERO);
+         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED);
++    }
+     glamor_priv->suppress_gl_out_of_memory_logging = true;
+     glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0,
+                  format, GL_UNSIGNED_BYTE, NULL);
diff --git a/debian/patches/revert-eb5108b870.diff b/debian/patches/revert-eb5108b870.diff
new file mode 100644
index 0000000..0b4e59d
--- /dev/null
+++ b/debian/patches/revert-eb5108b870.diff
@@ -0,0 +1,35 @@
+this reverts:
+
+commit eb5108b87017128f394ae31b5b7cd85dd8819bca
+Author: Michel Dänzer <michel.daenzer@amd.com>
+Date:   Wed Feb 24 16:52:58 2016 +0900
+
+    present: Requeue if flip driver hook fails and target MSC not reached
+
+some intel users suffer from frozen X because of it
+
+diff --git b/present/present.c a/present/present.c
+index 7f9fc17..17ec526 100644
+--- b/present/present.c
++++ a/present/present.c
+@@ -712,20 +712,6 @@ present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
+             if (window == screen_priv->flip_window)
+                 present_unflip(screen);
+         }
+-
+-        /* If present_flip failed, we may have to requeue for the target MSC */
+-        if (msc_is_after(vblank->target_msc, crtc_msc) &&
+-            Success == present_queue_vblank(screen,
+-                                            vblank->crtc,
+-                                            vblank->event_id,
+-                                            vblank->target_msc)) {
+-            xorg_list_add(&vblank->event_queue, &present_exec_queue);
+-            xorg_list_append(&vblank->window_list,
+-                             &present_get_window_priv(window, TRUE)->vblank);
+-            vblank->queued = TRUE;
+-            return;
+-        }
+-
+         present_copy_region(&window->drawable, vblank->pixmap, vblank->update, vblank->x_off, vblank->y_off);
+ 
+         /* present_copy_region sticks the region into a scratch GC,
diff --git a/debian/patches/series b/debian/patches/series
index 2c8af94..5440ad0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,8 @@
 03_static-nettle.diff
 05_Revert-Unload-submodules.diff
 #08_xfree86_fix_ia64_inx_outx.diff
+
+# 1.18.2 regression fixes/workarounds
+vidmode-reduce-verbosity-of-getmodeline.diff
+glamor-swizzle-red-to-0-for-alpha-textures.diff
+revert-eb5108b870.diff
diff --git a/debian/patches/vidmode-reduce-verbosity-of-getmodeline.diff b/debian/patches/vidmode-reduce-verbosity-of-getmodeline.diff
new file mode 100644
index 0000000..2568262
--- /dev/null
+++ b/debian/patches/vidmode-reduce-verbosity-of-getmodeline.diff
@@ -0,0 +1,372 @@
+commit 75eecf28ae3709181a51571132b0accd9cae316e
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Sun Mar 13 13:54:01 2016 +0000
+
+    Xext/vidmode: Reduce verbosity of GetModeLine debug messages
+    
+    In commit f175cf45aebcdda53f3ae49c0eaf27da1f194e92
+    Author: Olivier Fourdan <ofourdan@redhat.com>
+    Date:   Wed Feb 10 09:34:34 2016 +0100
+    
+        vidmode: move to a separate library of its own
+    
+    the verbosity of some old debug messages (which print the reply to every
+    GetModeLine client request and others) was increased leading to lots of
+    log spam. Downgrade the logging back to DebugF.
+    
+    [ajax: Fix a typo so it compiles.]
+    
+    Reviewed-by: Adam Jackson <ajax@redhat.com>
+    References: https://bugs.freedesktop.org/show_bug.cgi?id=94515
+    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+    Cc: Olivier Fourdan <ofourdan@redhat.com>
+
+diff --git a/Xext/vidmode.c b/Xext/vidmode.c
+index 7c838f4..0cbbdc3 100644
+--- a/Xext/vidmode.c
++++ b/Xext/vidmode.c
+@@ -69,7 +69,7 @@ typedef struct {
+     dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p)
+ 
+ #ifdef DEBUG
+-#define DEBUG_P(x) LogMessage(X_INFO, x"\n");
++#define DEBUG_P(x) DebugF(x"\n")
+ #else
+ #define DEBUG_P(x) /**/
+ #endif
+@@ -267,13 +267,13 @@ ProcVidModeGetModeLine(ClientPtr client)
+     rep.vtotal = VidModeGetModeValue(mode, VIDMODE_V_TOTAL);
+     rep.flags = VidModeGetModeValue(mode, VIDMODE_FLAGS);
+ 
+-    LogMessage(X_INFO, "GetModeLine - scrn: %d clock: %ld\n",
+-               stuff->screen, (unsigned long) rep.dotclock);
+-    LogMessage(X_INFO, "GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal);
+-    LogMessage(X_INFO, "              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-               rep.vdisplay, rep.vsyncstart, rep.vsyncend,
+-               rep.vtotal, (unsigned long) rep.flags);
++    DebugF("GetModeLine - scrn: %d clock: %ld\n",
++           stuff->screen, (unsigned long) rep.dotclock);
++    DebugF("GetModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           rep.hdisplay, rep.hsyncstart, rep.hsyncend, rep.htotal);
++    DebugF("              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           rep.vdisplay, rep.vsyncstart, rep.vsyncend,
++           rep.vtotal, (unsigned long) rep.flags);
+ 
+     /*
+      * Older servers sometimes had server privates that the VidMode
+@@ -483,23 +483,23 @@ ProcVidModeAddModeLine(ClientPtr client)
+         stuff->after_vtotal = oldstuff->after_vtotal;
+         stuff->after_flags = oldstuff->after_flags;
+     }
+-    LogMessage(X_INFO, "AddModeLine - scrn: %d clock: %ld\n",
+-               (int) stuff->screen, (unsigned long) stuff->dotclock);
+-    LogMessage(X_INFO, "AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               stuff->hdisplay, stuff->hsyncstart,
+-               stuff->hsyncend, stuff->htotal);
+-    LogMessage(X_INFO, "              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-               stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend,
+-               stuff->vtotal, (unsigned long) stuff->flags);
+-    LogMessage(X_INFO, "      after - scrn: %d clock: %ld\n",
+-               (int) stuff->screen, (unsigned long) stuff->after_dotclock);
+-    LogMessage(X_INFO, "              hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               stuff->after_hdisplay, stuff->after_hsyncstart,
+-               stuff->after_hsyncend, stuff->after_htotal);
+-    LogMessage(X_INFO, "              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-               stuff->after_vdisplay, stuff->after_vsyncstart,
+-               stuff->after_vsyncend, stuff->after_vtotal,
+-               (unsigned long) stuff->after_flags);
++    DebugF("AddModeLine - scrn: %d clock: %ld\n",
++           (int) stuff->screen, (unsigned long) stuff->dotclock);
++    DebugF("AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           stuff->hdisplay, stuff->hsyncstart,
++           stuff->hsyncend, stuff->htotal);
++    DebugF("              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend,
++           stuff->vtotal, (unsigned long) stuff->flags);
++    DebugF("      after - scrn: %d clock: %ld\n",
++           (int) stuff->screen, (unsigned long) stuff->after_dotclock);
++    DebugF("              hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           stuff->after_hdisplay, stuff->after_hsyncstart,
++           stuff->after_hsyncend, stuff->after_htotal);
++    DebugF("              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->after_vdisplay, stuff->after_vsyncstart,
++           stuff->after_vsyncend, stuff->after_vtotal,
++           (unsigned long) stuff->after_flags);
+ 
+     if (ver < 2) {
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq);
+@@ -572,7 +572,7 @@ ProcVidModeAddModeLine(ClientPtr client)
+     VidModeSetModeValue(mode, VIDMODE_FLAGS, stuff->flags);
+ 
+     if (stuff->privsize)
+-        LogMessage(X_INFO, "AddModeLine - Privates in request have been ignored\n");
++        DebugF("AddModeLine - Privates in request have been ignored\n");
+ 
+     /* Check that the mode is consistent with the monitor specs */
+     switch (pVidMode->CheckModeForMonitor(pScreen, mode)) {
+@@ -601,7 +601,7 @@ ProcVidModeAddModeLine(ClientPtr client)
+ 
+     pVidMode->AddModeline(pScreen, mode);
+ 
+-    LogMessage(X_INFO, "AddModeLine - Succeeded\n");
++    DebugF("AddModeLine - Succeeded\n");
+ 
+     return Success;
+ }
+@@ -640,14 +640,14 @@ ProcVidModeDeleteModeLine(ClientPtr client)
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+     }
+-    LogMessage(X_INFO, "DeleteModeLine - scrn: %d clock: %ld\n",
+-               (int) stuff->screen, (unsigned long) stuff->dotclock);
+-    LogMessage(X_INFO, "                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               stuff->hdisplay, stuff->hsyncstart,
+-               stuff->hsyncend, stuff->htotal);
+-    LogMessage(X_INFO, "                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-             stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
+-             (unsigned long) stuff->flags);
++    DebugF("DeleteModeLine - scrn: %d clock: %ld\n",
++           (int) stuff->screen, (unsigned long) stuff->dotclock);
++    DebugF("                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           stuff->hdisplay, stuff->hsyncstart,
++           stuff->hsyncend, stuff->htotal);
++    DebugF("                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
++           (unsigned long) stuff->flags);
+ 
+     if (ver < 2) {
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq);
+@@ -662,11 +662,11 @@ ProcVidModeDeleteModeLine(ClientPtr client)
+             bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq));
+     }
+     if (len != stuff->privsize) {
+-        LogMessage(X_INFO, "req_len = %ld, sizeof(Req) = %d, privsize = %ld, "
+-                   "len = %d, length = %d\n",
+-                   (unsigned long) client->req_len,
+-                   (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2,
+-                   (unsigned long) stuff->privsize, len, stuff->length);
++        DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, "
++               "len = %d, length = %d\n",
++               (unsigned long) client->req_len,
++               (int) sizeof(xXF86VidModeDeleteModeLineReq) >> 2,
++               (unsigned long) stuff->privsize, len, stuff->length);
+         return BadLength;
+     }
+ 
+@@ -681,46 +681,46 @@ ProcVidModeDeleteModeLine(ClientPtr client)
+     if (!pVidMode->GetCurrentModeline(pScreen, &mode, &dotClock))
+         return BadValue;
+ 
+-    LogMessage(X_INFO, "Checking against clock: %d (%d)\n",
++    DebugF("Checking against clock: %d (%d)\n",
++           VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock);
++    DebugF("                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           VidModeGetModeValue(mode, VIDMODE_H_DISPLAY),
++           VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART),
++           VidModeGetModeValue(mode, VIDMODE_H_SYNCEND),
++           VidModeGetModeValue(mode, VIDMODE_H_TOTAL));
++    DebugF("                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
++           VidModeGetModeValue(mode, VIDMODE_V_DISPLAY),
++           VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART),
++           VidModeGetModeValue(mode, VIDMODE_V_SYNCEND),
++           VidModeGetModeValue(mode, VIDMODE_V_TOTAL),
++           VidModeGetModeValue(mode, VIDMODE_FLAGS));
++
++    if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) &&
++        MODEMATCH(mode, stuff))
++        return BadValue;
++
++    if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock))
++        return BadValue;
++
++    do {
++        DebugF("Checking against clock: %d (%d)\n",
+                VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock);
+-    LogMessage(X_INFO, "                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
++        DebugF("                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
+                VidModeGetModeValue(mode, VIDMODE_H_DISPLAY),
+                VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART),
+                VidModeGetModeValue(mode, VIDMODE_H_SYNCEND),
+                VidModeGetModeValue(mode, VIDMODE_H_TOTAL));
+-    LogMessage(X_INFO, "                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
++        DebugF("                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
+                VidModeGetModeValue(mode, VIDMODE_V_DISPLAY),
+                VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART),
+                VidModeGetModeValue(mode, VIDMODE_V_SYNCEND),
+                VidModeGetModeValue(mode, VIDMODE_V_TOTAL),
+                VidModeGetModeValue(mode, VIDMODE_FLAGS));
+ 
+-    if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) &&
+-        MODEMATCH(mode, stuff))
+-        return BadValue;
+-
+-    if (!pVidMode->GetFirstModeline(pScreen, &mode, &dotClock))
+-        return BadValue;
+-
+-    do {
+-        LogMessage(X_INFO, "Checking against clock: %d (%d)\n",
+-                   VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock);
+-        LogMessage(X_INFO, "                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-                   VidModeGetModeValue(mode, VIDMODE_H_DISPLAY),
+-                   VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART),
+-                   VidModeGetModeValue(mode, VIDMODE_H_SYNCEND),
+-                   VidModeGetModeValue(mode, VIDMODE_H_TOTAL));
+-        LogMessage(X_INFO, "                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
+-                   VidModeGetModeValue(mode, VIDMODE_V_DISPLAY),
+-                   VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART),
+-                   VidModeGetModeValue(mode, VIDMODE_V_SYNCEND),
+-                   VidModeGetModeValue(mode, VIDMODE_V_TOTAL),
+-                   VidModeGetModeValue(mode, VIDMODE_FLAGS));
+-
+         if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) &&
+             MODEMATCH(mode, stuff)) {
+             pVidMode->DeleteModeline(pScreen, mode);
+-            LogMessage(X_INFO, "DeleteModeLine - Succeeded\n");
++            DebugF("DeleteModeLine - Succeeded\n");
+             return Success;
+         }
+     } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock));
+@@ -761,12 +761,12 @@ ProcVidModeModModeLine(ClientPtr client)
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+     }
+-    LogMessage(X_INFO, "ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart,
+-               stuff->hsyncend, stuff->htotal);
+-    LogMessage(X_INFO, "              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-               stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend,
+-               stuff->vtotal, (unsigned long) stuff->flags);
++    DebugF("ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart,
++           stuff->hsyncend, stuff->htotal);
++    DebugF("              vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend,
++           stuff->vtotal, (unsigned long) stuff->flags);
+ 
+     if (ver < 2) {
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq);
+@@ -816,7 +816,7 @@ ProcVidModeModModeLine(ClientPtr client)
+     VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags);
+ 
+     if (stuff->privsize)
+-        LogMessage(X_INFO, "ModModeLine - Privates in request have been ignored\n");
++        DebugF("ModModeLine - Privates in request have been ignored\n");
+ 
+     /* Check that the mode is consistent with the monitor specs */
+     switch (pVidMode->CheckModeForMonitor(pScreen, modetmp)) {
+@@ -856,7 +856,7 @@ ProcVidModeModModeLine(ClientPtr client)
+     pVidMode->SetCrtcForMode(pScreen, mode);
+     pVidMode->SwitchMode(pScreen, mode);
+ 
+-    LogMessage(X_INFO, "ModModeLine - Succeeded\n");
++    DebugF("ModModeLine - Succeeded\n");
+     return Success;
+ }
+ 
+@@ -896,14 +896,14 @@ ProcVidModeValidateModeLine(ClientPtr client)
+         stuff->privsize = oldstuff->privsize;
+     }
+ 
+-    LogMessage(X_INFO, "ValidateModeLine - scrn: %d clock: %ld\n",
+-               (int) stuff->screen, (unsigned long) stuff->dotclock);
+-    LogMessage(X_INFO, "                   hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               stuff->hdisplay, stuff->hsyncstart,
+-               stuff->hsyncend, stuff->htotal);
+-    LogMessage(X_INFO, "                   vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-             stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
+-             (unsigned long) stuff->flags);
++    DebugF("ValidateModeLine - scrn: %d clock: %ld\n",
++           (int) stuff->screen, (unsigned long) stuff->dotclock);
++    DebugF("                   hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           stuff->hdisplay, stuff->hsyncstart,
++           stuff->hsyncend, stuff->htotal);
++    DebugF("                   vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
++           (unsigned long) stuff->flags);
+ 
+     if (ver < 2) {
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq);
+@@ -956,7 +956,7 @@ ProcVidModeValidateModeLine(ClientPtr client)
+     VidModeSetModeValue(modetmp, VIDMODE_V_TOTAL, stuff->vtotal);
+     VidModeSetModeValue(modetmp, VIDMODE_FLAGS, stuff->flags);
+     if (stuff->privsize)
+-        LogMessage(X_INFO, "ValidateModeLine - Privates in request have been ignored\n");
++        DebugF("ValidateModeLine - Privates in request have been ignored\n");
+ 
+     /* Check that the mode is consistent with the monitor specs */
+     if ((status =
+@@ -982,7 +982,7 @@ ProcVidModeValidateModeLine(ClientPtr client)
+         swapl(&rep.status);
+     }
+     WriteToClient(client, sizeof(xXF86VidModeValidateModeLineReply), &rep);
+-    LogMessage(X_INFO, "ValidateModeLine - Succeeded (status = %d)\n", status);
++    DebugF("ValidateModeLine - Succeeded (status = %d)\n", status);
+ 
+     return Success;
+ }
+@@ -1046,14 +1046,14 @@ ProcVidModeSwitchToMode(ClientPtr client)
+         stuff->privsize = oldstuff->privsize;
+     }
+ 
+-    LogMessage(X_INFO, "SwitchToMode - scrn: %d clock: %ld\n",
+-               (int) stuff->screen, (unsigned long) stuff->dotclock);
+-    LogMessage(X_INFO, "               hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-               stuff->hdisplay, stuff->hsyncstart,
+-               stuff->hsyncend, stuff->htotal);
+-    LogMessage(X_INFO, "               vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
+-               stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
+-               (unsigned long) stuff->flags);
++    DebugF("SwitchToMode - scrn: %d clock: %ld\n",
++           (int) stuff->screen, (unsigned long) stuff->dotclock);
++    DebugF("               hdsp: %d hbeg: %d hend: %d httl: %d\n",
++           stuff->hdisplay, stuff->hsyncstart,
++           stuff->hsyncend, stuff->htotal);
++    DebugF("               vdsp: %d vbeg: %d vend: %d vttl: %d flags: %ld\n",
++           stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
++           (unsigned long) stuff->flags);
+ 
+     if (ver < 2) {
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq);
+@@ -1089,19 +1089,19 @@ ProcVidModeSwitchToMode(ClientPtr client)
+         return BadValue;
+ 
+     do {
+-        LogMessage(X_INFO, "Checking against clock: %d (%d)\n",
+-                   VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock);
+-        LogMessage(X_INFO, "                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
+-                   VidModeGetModeValue(mode, VIDMODE_H_DISPLAY),
+-                   VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART),
+-                   VidModeGetModeValue(mode, VIDMODE_H_SYNCEND),
+-                   VidModeGetModeValue(mode, VIDMODE_H_TOTAL));
+-        LogMessage(X_INFO, "                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
+-                 VidModeGetModeValue(mode, VIDMODE_V_DISPLAY),
+-                 VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART),
+-                 VidModeGetModeValue(mode, VIDMODE_V_SYNCEND),
+-                 VidModeGetModeValue(mode, VIDMODE_V_TOTAL),
+-                 VidModeGetModeValue(mode, VIDMODE_FLAGS));
++        DebugF("Checking against clock: %d (%d)\n",
++               VidModeGetModeValue(mode, VIDMODE_CLOCK), dotClock);
++        DebugF("                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
++               VidModeGetModeValue(mode, VIDMODE_H_DISPLAY),
++               VidModeGetModeValue(mode, VIDMODE_H_SYNCSTART),
++               VidModeGetModeValue(mode, VIDMODE_H_SYNCEND),
++               VidModeGetModeValue(mode, VIDMODE_H_TOTAL));
++        DebugF("                 vdsp: %d vbeg: %d vend: %d vttl: %d flags: %d\n",
++               VidModeGetModeValue(mode, VIDMODE_V_DISPLAY),
++               VidModeGetModeValue(mode, VIDMODE_V_SYNCSTART),
++               VidModeGetModeValue(mode, VIDMODE_V_SYNCEND),
++               VidModeGetModeValue(mode, VIDMODE_V_TOTAL),
++               VidModeGetModeValue(mode, VIDMODE_FLAGS));
+ 
+         if ((pVidMode->GetDotClock(pScreen, stuff->dotclock) == dotClock) &&
+             MODEMATCH(mode, stuff)) {
+@@ -1109,7 +1109,7 @@ ProcVidModeSwitchToMode(ClientPtr client)
+             if (!pVidMode->SwitchMode(pScreen, mode))
+                 return BadValue;
+ 
+-            LogMessage(X_INFO, "SwitchToMode - Succeeded\n");
++            DebugF("SwitchToMode - Succeeded\n");
+             return Success;
+         }
+     } while (pVidMode->GetNextModeline(pScreen, &mode, &dotClock));


Reply to: