[PATCH] Add freesync ioctl interface

Michel Dänzer michel at daenzer.net
Tue Aug 9 02:44:27 UTC 2016


On 08/08/16 06:55 PM, Christian König wrote:
> Am 08.08.2016 um 09:43 schrieb Michel Dänzer:
>> On 04.08.2016 17:22, Christian König wrote:
>>> Am 04.08.2016 um 08:41 schrieb Michel Dänzer:
>>>> On 03.08.2016 10:04, Dave Airlie wrote:
> 
>>>> The goal here is merely to allow running existing apps with variable
>>>> refresh rate, which just requires some kind of toggle(s) to
>>>> enable/disable it.
>>>>
>>>>
>>>> That said, I also see some issues with this patch:
>>>>
>>>> There's a bit of a conflation between "FreeSync" and "fullscreen"
>>>> concepts. I think at this point it's really about a sort of an "is
>>>> FreeSync allowed?" state rather than about fullscreen.
>>> I would say we first of all need a new flag for drm_mode_modeinfo to
>>> note if a certain mode is a freesync mode or not and what the min/max
>>> parameters are.
>>>
>>>> It might be nice to track the "is FreeSync allowed?" state per-CRTC, as
>>>> I wonder if FreeSync might be useful e.g. for smoother TearFree
>>>> operation.
>>>>
>>>> And if it's just a per-CRTC state, something like an output property
>>>> might be more appropriate than a dedicated ioctl.
>>> That will obvious work as well, but essentially freesync is a parameter
>>> of the video mode in use if I'm not completely mistaken.
>> Hmm, that's an interesting point. Enabling FreeSync via special modes
>> sounds quite natural from a user POV. Unfortunately, games tend to only
>> let the user choose a resolution, not a specific mode.
> Who said that games need to be able to enable/disable it in the kernel
> side?

The assumption is that some games (and maybe other apps, e.g.
compositors) won't work correctly with variable refresh rate. So there
needs to be some way for the user to decide whether or not to use it for
a given app.

I was basically thinking out loud that doing this via different modes
might be quite natural, *if* games allowed choosing a specific mode. But
unfortunately they don't.


For the video playback case, how do you envision the video player app
communicating the refresh rate of the currently playing video to the kernel?


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the amd-gfx mailing list