backend/drm: fix VRR test

We were calling drm_connector_supports_vrr() before
drm_connector_alloc_crtc(). Thus, when an output is currently off,
the VRR test would always fail, because it checks that the
vrr_enabled CRTC prop exists.
This commit is contained in:
Simon Ser 2022-12-07 10:43:02 +01:00
parent 86fc2199f8
commit 90a6c7b7e1

View file

@ -459,12 +459,6 @@ static bool drm_connector_test(struct wlr_output *output,
}
}
if ((state->committed & WLR_OUTPUT_ADAPTIVE_SYNC_ENABLED) &&
state->adaptive_sync_enabled &&
!drm_connector_supports_vrr(conn)) {
return false;
}
struct wlr_drm_connector_state pending = {0};
drm_connector_state_init(&pending, conn, state);
@ -484,6 +478,12 @@ static bool drm_connector_test(struct wlr_output *output,
}
}
if ((state->committed & WLR_OUTPUT_ADAPTIVE_SYNC_ENABLED) &&
state->adaptive_sync_enabled &&
!drm_connector_supports_vrr(conn)) {
return false;
}
if (conn->backend->parent) {
// If we're running as a secondary GPU, we can't perform an atomic
// commit without blitting a buffer.