[PATCH xf86-video-amdgpu 0/6] xf86-video-amdgpu integration for DRM variable refresh rate API

Kazlauskas, Nicholas nicholas.kazlauskas at amd.com
Wed Sep 12 12:48:25 UTC 2018


On 09/12/2018 04:13 AM, Michel Dänzer wrote:
> 
> Hi Nicholas,
> 
> 
> thanks for the patches.
> 
> 
> On 2018-09-11 6:18 p.m., Nicholas Kazlauskas wrote:
>> These patches are part of a proposed new interface for supporting variable refresh rate via DRM properties.
>>
>> https://patchwork.freedesktop.org/series/49486/
>>
>> When notified of a window that is FreeSync capable via X these patches help track when the window is fullscreen to manage the variable_refresh property on the CRTC.
> 
> I'm afraid the Xorg driver support will have to be more or less redone
> from scratch for upstreaming:
> 
> Whether or not a client wants variable refresh rate enabled can be
> tracked via the window property mechanism supported by the core X11
> protocol, no need for a protocol extension.
> 
> That should also allow simpler tracking of when variable refresh rate
> can actually be enabled: It can be enabled while a window is flipping,
> and its corresponding property allows it. This should be straightforward
> with the Present extension, because that also explicitly marks the end
> of a window flipping (via an "unflip"). DRI2 is trickier; it's probably
> okay not to support variable refresh rate with that, at least initially.
> 
> 
> I can look into this after the upcoming Xorg driver 18.1 releases. Or I
> can give guidance if one of you wants to look into it.
> 
> 

I can a look into this. I agree that the extension method is less than 
ideal - in being vendor specific mostly. It does have the nice property 
that it remains independent of the application's render backend, though.

I imagine you're suggesting specifying a window property hint like 
_NET_WM_BYPASS_COMPOSITOR - maybe a define new one like 
_NET_WM_VARIABLE_REFRESH (even though the two are closely related in 
terms of fullscreen behavior). Then in each backend the property could 
probably be checked before the present as appropriate.

This patch series already has the problem you're describing about DRI2 
where there's not a nice explicit end notification for flipping - it's 
only disabled when the window no longer covers the CRTC or the window is 
destroyed (which is the case for most applications but likely not all).

Thanks for the feedback.

Nicholas Kazlauskas


More information about the amd-gfx mailing list