xserver: Branch 'master' - 2 commits

Michel Dänzer daenzer at kemper.freedesktop.org
Tue Jun 20 03:41:39 UTC 2017


 hw/xfree86/modes/xf86RandR12.c |    3 +--
 randr/rrcrtc.c                 |    5 ++---
 2 files changed, 3 insertions(+), 5 deletions(-)

New commits:
commit 4212c884c423e5ce2cd3b4d67c0d656475fddc79
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Jun 16 11:30:03 2017 +0900

    xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet
    
    The memcmp didn't catch when e.g. only the filter changed. Tested by
    alternately running
    
    xrandr --output DVI-I-0 --scale-from 3840x2160 --filter bilinear
    xrandr --output DVI-I-0 --scale-from 3840x2160 --filter nearest
    
    Reviewed-by: Aaron Plattner <aplattner at nvidia.com>

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index 55d88e331..fe8770d61 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -1170,8 +1170,7 @@ xf86RandR12CrtcSet(ScreenPtr pScreen,
     if ((transform != NULL) != crtc->transformPresent)
         changed = TRUE;
     else if (transform &&
-             memcmp(&transform->transform, &crtc->transform.transform,
-                    sizeof(transform->transform)) != 0)
+             !RRTransformEqual(transform, &crtc->transform))
         changed = TRUE;
 
     if (x != crtc->x || y != crtc->y)
commit 091af80be48c37f16c679d35fc12ad33e6b0cd74
Author: Aaron Plattner <aplattner at nvidia.com>
Date:   Thu Jun 15 14:28:27 2017 -0700

    randr: Use RRTransformEqual in RRCrtcPendingTransform
    
    Currently, RRCrtcPendingTransform returns false unless the
    transformation matrix itself is changing. This makes RRCrtcSet skip
    doing anything if the only thing that is changing is the transform
    filter.
    
    There's already a function for comparing RRTransformPtrs, so use that
    instead.
    
    Tested by running
    
      xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter nearest
    
    follwed by
    
      xrandr --output DP-1 --mode 1920x1080 --rate 144 --scale 0.5x0.5 --filter bilinear
    
    Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
    Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer at amd.com>

diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index d1a51f0aa..401a1c178 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -843,9 +843,8 @@ RRCrtcGetTransform(RRCrtcPtr crtc)
 Bool
 RRCrtcPendingTransform(RRCrtcPtr crtc)
 {
-    return memcmp(&crtc->client_current_transform.transform,
-                  &crtc->client_pending_transform.transform,
-                  sizeof(PictTransform)) != 0;
+    return !RRTransformEqual(&crtc->client_current_transform,
+                             &crtc->client_pending_transform);
 }
 
 /*


More information about the xorg-commit mailing list