xserver: Branch 'server-1.18-branch' - 8 commits

Adam Jackson ajax at kemper.freedesktop.org
Tue Mar 29 20:46:18 UTC 2016


 Xext/vidmode.c                             |  212 ++++++++++++++---------------
 glamor/glamor_fbo.c                        |    4 
 hw/vfb/Makefile.am                         |    1 
 hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h |   10 +
 hw/xfree86/modes/xf86Crtc.c                |    6 
 hw/xwayland/xwayland-cvt.c                 |    4 
 hw/xwayland/xwayland-vidmode.c             |   19 ++
 present/present.c                          |    2 
 8 files changed, 144 insertions(+), 114 deletions(-)

New commits:
commit 082d5ea9a8f882c5ab7c30c481e2d9a5c5f11376
Author: Olivier Fourdan <ofourdan at redhat.com>
Date:   Mon Mar 21 09:53:17 2016 +0100

    xwayland: Pretend we support viewport in vidmode
    
    Some games (namely openttd) will raise an XError and fail with a
    BadValue if their request to XF86VidModeSetViewPort fails.
    
    Support only the default zoom and viewport, fail for everything else.
    
    Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
    Reviewed-by: Hans de Goede <hdegoede at redhat.com>
    (cherry picked from commit 44e1c97ca6fe992bbb6ef9ecb0b82a113adfa57e)

diff --git a/hw/xwayland/xwayland-vidmode.c b/hw/xwayland/xwayland-vidmode.c
index 6d70e39..0bcd114 100644
--- a/hw/xwayland/xwayland-vidmode.c
+++ b/hw/xwayland/xwayland-vidmode.c
@@ -208,15 +208,26 @@ xwlVidModeDeleteModeline(ScreenPtr pScreen, DisplayModePtr mode)
 static Bool
 xwlVidModeZoomViewport(ScreenPtr pScreen, int zoom)
 {
-    /* Unsupported for now */
-    return FALSE;
+    /* Support only no zoom */
+    return (zoom == 1);
 }
 
 static Bool
 xwlVidModeSetViewPort(ScreenPtr pScreen, int x, int y)
 {
-    /* Unsupported for now */
-    return FALSE;
+    RROutputPtr output;
+    RRCrtcPtr crtc;
+
+    output = RRFirstOutput(pScreen);
+    if (output == NULL)
+        return FALSE;
+
+    crtc = output->crtc;
+    if (crtc == NULL)
+        return FALSE;
+
+    /* Support only default viewport */
+    return (x == crtc->x && y == crtc->y);
 }
 
 static Bool
commit fcb89adb4a6cde585923e63d3c34df465aa78d1b
Author: Olivier Fourdan <ofourdan at redhat.com>
Date:   Thu Mar 17 14:39:45 2016 +0100

    xwayland: do not include frequency in mode name
    
    Some applications (e.g. using lwjgl) try to parse the output of the
    xrandr command and get confused with the mode name returned by Xwayland,
    because it contains "@[frequency]" (e.g. "1024x640 at 60.0Hz").
    
    Remove the @[frequency] part of the mode name to match what is found in
    usual mode names on regular X servers to please those applications.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94589
    
    Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    (cherry picked from commit 6e3a6e30a6ac66942a0756a5d079993181f02e34)

diff --git a/hw/xwayland/xwayland-cvt.c b/hw/xwayland/xwayland-cvt.c
index 3566559..9655e10 100644
--- a/hw/xwayland/xwayland-cvt.c
+++ b/hw/xwayland/xwayland-cvt.c
@@ -296,8 +296,8 @@ xwayland_cvt(int HDisplay, int VDisplay, float VRefresh, Bool Reduced,
     if (Interlaced)
         modeinfo.modeFlags |= RR_Interlace;
 
-    snprintf(name, sizeof name, "%dx%d@%.1fHz",
-             modeinfo.width, modeinfo.height, VRefresh);
+    snprintf(name, sizeof name, "%dx%d",
+             modeinfo.width, modeinfo.height);
     modeinfo.nameLength = strlen(name);
 
     return RRModeGet(&modeinfo, name);
commit b8f9fd83189bd5593793c1cfcbfedb5150d7c5a5
Author: Michel Dänzer <michel.daenzer at 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 at redhat.com>
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    (cherry picked from commit 418fe365b45a143680d3b4143dc60f7cdc5a3507)

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;
commit 1211d483d4581ee5ccbd50c654d30cf3318fe7c6
Author: Sonny Jiang <sonny.jiang at amd.com>
Date:   Mon Mar 28 16:36:50 2016 +0900

    DRI2: add Polaris PCI IDs
    
    Signed-off-by: Sonny Jiang <sonny.jiang at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com> (Polaris10)
    Reviewed-by: Michel Dänzer <michel.daenzer at amd.com> (Polaris11)
    
    (Ported from Mesa commit f00c840578a70e479ffb99f6b64c73dc420179fa)
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit 1c90797565385426ad63bd2108085c8466695c0b)

diff --git a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
index bcf15a1..4df8e9d 100644
--- a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
+++ b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
@@ -182,4 +182,14 @@ CHIPSET(0x9877, CARRIZO_, CARRIZO)
 
 CHIPSET(0x7300, FIJI_, FIJI)
 
+CHIPSET(0x67E0, POLARIS11_, POLARIS11)
+CHIPSET(0x67E1, POLARIS11_, POLARIS11)
+CHIPSET(0x67E8, POLARIS11_, POLARIS11)
+CHIPSET(0x67E9, POLARIS11_, POLARIS11)
+CHIPSET(0x67EB, POLARIS11_, POLARIS11)
+CHIPSET(0x67FF, POLARIS11_, POLARIS11)
+
+CHIPSET(0x67C0, POLARIS10_, POLARIS10)
+CHIPSET(0x67DF, POLARIS10_, POLARIS10)
+
 CHIPSET(0x98E4, STONEY_, STONEY)
commit 07ad2fde78f07e98caaf3e9b6b67af15359fefe4
Author: Michel Dänzer <michel.daenzer at 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 at amd.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit 3b385105b2d19a1c55e9779ae88d775185eea231)

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,
commit e8f785f82ec8d3a76ae377c7430b1945180cba00
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed Mar 23 14:42:08 2016 -0400

    vfb: Re-add LD_EXPORT_SYMBOLS_FLAG to LDFLAGS
    
    Accidentally removed, breaks Xvfb on cygwin.
    
    Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Signed-off-by: Adam Jackson <ajax at redhat.com>
    (cherry picked from commit 8ac0e05cc6c6e87b223ba7cb31d8856771c5d41a)

diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
index c9ac35e..f0f9fee 100644
--- a/hw/vfb/Makefile.am
+++ b/hw/vfb/Makefile.am
@@ -21,6 +21,7 @@ XVFB_LIBS = \
 
 Xvfb_LDADD = $(XVFB_LIBS) $(XVFB_SYS_LIBS) $(XSERVER_SYS_LIBS)
 Xvfb_DEPENDENCIES = $(XVFB_LIBS)
+Xvfb_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 
 relink:
 	$(AM_V_at)rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT)
commit fb8ddcf1cb0f47257370c3d6a895a5a41bea8dc0
Author: Dave Airlie <airlied at 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 at redhat.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Tested-by: Timo Aaltonen <tjaalton at ubuntu.com>
    (cherry picked from commit a288cf58a0dc0f965a6f964c76bb86bb1989d797)

diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c
index 5bfffe5..c6ba095 100644
--- a/glamor/glamor_fbo.c
+++ b/glamor/glamor_fbo.c
@@ -340,8 +340,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);
commit 1bffe77769a9dce623e4a587ed3895ba003c257b
Author: Chris Wilson <chris at 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 at 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 at redhat.com>
    References: https://bugs.freedesktop.org/show_bug.cgi?id=94515
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Cc: Olivier Fourdan <ofourdan at redhat.com>
    (cherry picked from commit 75eecf28ae3709181a51571132b0accd9cae316e)

diff --git a/Xext/vidmode.c b/Xext/vidmode.c
index 7c838f4..499a2a8 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));


More information about the xorg-commit mailing list