[Mesa-dev] [PATCH] [AMD] dri3: Add adaptive_sync_enable driconf option

Michel Dänzer michel at daenzer.net
Tue Oct 17 13:28:15 UTC 2017

On 17/10/17 01:18 PM, Nicolai Hähnle wrote:
> On 17.10.2017 12:41, Michel Dänzer wrote:
>> On 17/10/17 12:29 PM, Nicolai Hähnle wrote:
>>> On 17.10.2017 12:07, Michel Dänzer wrote:
>>>> On 17/10/17 11:33 AM, Nicolai Hähnle wrote:
>>>>> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>>>> When enabled, this will request FreeSync via the hybrid amdgpu DDX's
>>>>> AMDGPU X11 protocol extension.
>>>>> Due to limitations in the DDX this will only work for applications
>>>>> that cover the entire X screen (which is important to keep in mind
>>>>> when
>>>>> you have a multi-monitor setup).
>>>> This limitation already applies to page flipping in general, it's not
>>>> specific to FreeSync.
>>> Maybe it shouldn't apply in general? After all, what if you have one
>>> monitor with 60Hz and one with 90Hz?
>> Page flipping can be used in that case. The application's buffer swaps
>> will be synchronized to one or the other CRTC, by default the one where
>> the largest part of the window is visible on. On the other CRTC(s), each
>> flip may take effect slightly earlier or later than on the
>> synchronization CRTC.
> Hmm. I seem to have lost the plot and/or we're talking past each other.
> Maybe we need to go back to square one?
> To rephrase the point that I was trying to get across: When you have a
> multi-monitor setup, and your application window covers (only) one of
> these monitors, then FreeSync will *not* be enabled.
> At least that's how I understand the current DDX implementation, and I
> think it's surprising enough that it should be pointed out explicitly.

I'm pointing out that the reason for this is that it's a limitation of
page flipping, and adaptive sync can only work with page flipping.

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

More information about the mesa-dev mailing list