[PATCH xserver] xfree86/modes: Use RRTransformEqual in xf86RandR12CrtcSet
Michel Dänzer
michel at daenzer.net
Mon Jun 19 08:57:45 UTC 2017
On 16/06/17 03:25 PM, Aaron Plattner wrote:
> On 06/15/2017 07:31 PM, Michel Dänzer wrote:
>> From: Michel Dänzer <michel.daenzer at amd.com>
>>
>> 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
>>
>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>> ---
>> hw/xfree86/modes/xf86RandR12.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> 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 &&
>
> RRTransformEqual treats NULL transform pointers as the identity, so I
> think you can just drop the transform && check here.
Thanks for the suggestion. Unfortunately, AFAICT
xf86CrtcSetModeTransform doesn't reset crtc->transform to the identity
when crtc->transformPresent = FALSE, so skipping the transform && would
lead to false positives in that case and transform == NULL.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the xorg-devel
mailing list