backend/drm: fix primary FB check

When turning off a CRTC, we don't need a buffer.

It doesn't matter whether this is a modeset or not: we always need
a buffer even for regular page-flips as long as a connector is
active.

Fixes: 374daeb256 ("backend/drm: Ensure a primary fb is available when configuring an output")
This commit is contained in:
Simon Ser 2024-02-26 17:29:18 +01:00
parent e8b7fe8f39
commit 0e839ab1c2

View file

@ -682,7 +682,7 @@ static bool drm_connector_test(struct wlr_output *output,
struct wlr_drm_connector_state pending = {0}; struct wlr_drm_connector_state pending = {0};
drm_connector_state_init(&pending, conn, state); drm_connector_state_init(&pending, conn, state);
if (state->allow_reconfiguration && !pending.primary_fb) { if (pending.active && !pending.primary_fb) {
wlr_drm_conn_log(conn, WLR_DEBUG, wlr_drm_conn_log(conn, WLR_DEBUG,
"No primary frame buffer available for this connector"); "No primary frame buffer available for this connector");
goto out; goto out;