Adaptive Sync enabling in Xorg Modesetting driver

Michel Dänzer michel at daenzer.net
Mon May 25 16:47:17 UTC 2020


On 2020-05-25 6:39 p.m., uday kiran pichika wrote:
> Thanks for your quick check Michel. I had removed the condition in my local
> source in ms_present_check_unflip() method and moved the assignment to
> ms_present_check_flip() method. Below is the snippet.
> 
> static Bool ms_present_check_flip(RRCrtcPtr crtc,
>                       WindowPtr window,
>                       PixmapPtr pixmap,
>                       Bool sync_flip,
>                       PresentFlipReason *reason)
> {
>     if (ms->drmmode.sprites_visible > 0)
>         return FALSE;
> 
>     Bool ret = ms_present_check_unflip(crtc, window, pixmap, sync_flip,
> reason);
>     ms->flip_window = window;
>     return ret;
> }

That's also broken, in a different way: ms->flip_window must only be
updated if ms_present_check_unflip returned TRUE. (ms_present_check_flip
may be called for other windows which cannot use page flipping, in which
case it returns FALSE)


-- 
Earthling Michel Dänzer               |               https://redhat.com
Libre software enthusiast             |             Mesa and X developer


More information about the amd-gfx mailing list