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
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx