diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2019-02-12 17:57:17 +0100 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2019-02-22 17:45:04 +0100 |
commit | bd090f389f19f1f4a3f662ffdd891345a3899539 (patch) | |
tree | 5945a61a0cc497c353a67d22afdaed1144395c76 /src/amdgpu_kms.c | |
parent | d9be5d712d469595e1e610f7294bc670ca3b1985 (diff) |
Call amdgpu_present_set_screen_vrr from amdgpu_vrr_property_update
If the window is currently flipping.
This might make a difference when the property gets disabled: Variable
refresh will now be disabled immediately in that case, instead of only
when the window can no longer use page flipping at all.
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Diffstat (limited to 'src/amdgpu_kms.c')
-rw-r--r-- | src/amdgpu_kms.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c index e50c6d1..458d2d0 100644 --- a/src/amdgpu_kms.c +++ b/src/amdgpu_kms.c @@ -102,7 +102,14 @@ static inline struct amdgpu_window_priv *get_window_priv(WindowPtr win) { static void amdgpu_vrr_property_update(WindowPtr window, Bool variable_refresh) { + ScrnInfoPtr scrn = xf86ScreenToScrn(window->drawable.pScreen); + AMDGPUInfoPtr info = AMDGPUPTR(scrn); + get_window_priv(window)->variable_refresh = variable_refresh; + + if (info->flip_window == window && + info->drmmode.present_flipping) + amdgpu_present_set_screen_vrr(scrn, variable_refresh); } /* Wrapper for xserver/dix/property.c:ProcChangeProperty */ |