Support CRTC variable refresh for windows using Present flips

This patch adds support for setting the CRTC variable refresh property
for suitable windows flipping via the Present extension.

The "VariableRefresh" Option is added to AMDGPU in this patch. This
option defaults to false, and must be set to "true" in an X conf
file for variable refresh support in the driver.

In order for a window to be suitable for variable refresh it must have
the _VARIABLE_REFRESH property with a 32-bit CARDINAL value of 1.

Then the window must pass the checks required to be suitable for
Present extension flips - it must cover the entire X screen and no
other window may already be flipping.

With these conditions met every CRTC for the X screen will have their
variable refresh property set to true.

Signed-off-by: Nicholas Kazlauskas <>
11 jobs for variable-refresh-present in 2 minutes and 5 seconds (queued for 3 seconds)