backend/drm: Add async page flip support to legacy

Atomic doesn't support such flags yet.
This commit is contained in:
vaxerski 2023-09-28 17:21:22 +01:00 committed by Simon Zeni
parent 5dec1c8bcb
commit c2aa7fd965
5 changed files with 30 additions and 2 deletions

View file

@ -175,8 +175,13 @@ static bool legacy_crtc_commit(struct wlr_drm_connector *conn,
}
if (flags & DRM_MODE_PAGE_FLIP_EVENT) {
uint32_t page_flags = DRM_MODE_PAGE_FLIP_EVENT;
if (flags & DRM_MODE_PAGE_FLIP_ASYNC) {
page_flags |= DRM_MODE_PAGE_FLIP_ASYNC;
}
if (drmModePageFlip(drm->fd, crtc->id, fb_id,
DRM_MODE_PAGE_FLIP_EVENT, drm)) {
page_flags, drm)) {
wlr_drm_conn_log_errno(conn, WLR_ERROR, "drmModePageFlip failed");
return false;
}