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