aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/legacy.c
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-09-28 17:21:22 +0100
committerSimon Zeni <simon@bl4ckb0ne.ca>2023-09-28 16:53:08 +0000
commitc2aa7fd965cb7ee8bed24f4122b720aca8f0fc1e (patch)
tree6b342883b5e0d2c8a194aafb3c402b1bca096a2c /backend/drm/legacy.c
parent5dec1c8bcb208fc0341a538dd46d96b3970c9def (diff)
backend/drm: Add async page flip support to legacy
Atomic doesn't support such flags yet.
Diffstat (limited to 'backend/drm/legacy.c')
-rw-r--r--backend/drm/legacy.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/drm/legacy.c b/backend/drm/legacy.c
index a8f618cf..ee64f78c 100644
--- a/backend/drm/legacy.c
+++ b/backend/drm/legacy.c
@@ -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;
}