From 90a6c7b7e18950bfe393f9e921e525e3f1f4073e Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 7 Dec 2022 10:43:02 +0100 Subject: [PATCH] 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. --- backend/drm/drm.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/drm/drm.c b/backend/drm/drm.c index a460fad5..00883a02 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -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.