aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/drm.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/drm/drm.c')
-rw-r--r--backend/drm/drm.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 85240448..a012e678 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -715,12 +715,10 @@ bool drm_connector_commit_state(struct wlr_drm_connector *conn,
}
}
- uint32_t flags = 0;
if (pending.base->committed & WLR_OUTPUT_STATE_BUFFER) {
if (!drm_connector_state_update_primary_fb(conn, &pending)) {
goto out;
}
- flags |= DRM_MODE_PAGE_FLIP_EVENT;
// wlr_drm_interface.crtc_commit will perform either a non-blocking
// page-flip, either a blocking modeset. When performing a blocking modeset
@@ -732,9 +730,6 @@ bool drm_connector_commit_state(struct wlr_drm_connector *conn,
goto out;
}
}
- if (pending.modeset && pending.active) {
- flags |= DRM_MODE_PAGE_FLIP_EVENT;
- }
if (pending.base->committed & WLR_OUTPUT_STATE_LAYERS) {
if (!drm_connector_set_pending_layer_fbs(conn, pending.base)) {
return false;
@@ -751,6 +746,8 @@ bool drm_connector_commit_state(struct wlr_drm_connector *conn,
}
}
+ uint32_t flags = pending.active ? DRM_MODE_PAGE_FLIP_EVENT : 0;
+
ok = drm_crtc_commit(conn, &pending, flags, false);
if (!ok) {
goto out;