From 69b22790923186bea48ab23e413927334eff828b Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 7 May 2020 17:11:32 +0200 Subject: backend/drm: remove mode argument to crtc_pageflip Add a new wlr_drm_crtc.pending bitfield which keeps track of pending output changes. More fields will be added in the future (e.g. active, gamma). --- include/backend/drm/drm.h | 7 +++++++ include/backend/drm/iface.h | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'include/backend/drm') diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index 11f6732a..e8fc452a 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -42,8 +42,15 @@ struct wlr_drm_plane { union wlr_drm_plane_props props; }; +enum wlr_drm_crtc_field { + WLR_DRM_CRTC_MODE = 1 << 0, +}; + struct wlr_drm_crtc { uint32_t id; + uint32_t pending; // bitfield of enum wlr_drm_crtc_field + + drmModeModeInfo mode; // Atomic modesetting only uint32_t mode_id; diff --git a/include/backend/drm/iface.h b/include/backend/drm/iface.h index acaf4730..6e074249 100644 --- a/include/backend/drm/iface.h +++ b/include/backend/drm/iface.h @@ -16,9 +16,9 @@ struct wlr_drm_interface { // Enable or disable DPMS for connector bool (*conn_enable)(struct wlr_drm_backend *drm, struct wlr_drm_connector *conn, bool enable); - // Pageflip on crtc. If mode is non-NULL perform a full modeset using it. + // Pageflip on crtc. bool (*crtc_pageflip)(struct wlr_drm_backend *drm, - struct wlr_drm_connector *conn, drmModeModeInfo *mode); + struct wlr_drm_connector *conn); // Enable the cursor buffer on crtc. Set bo to NULL to disable bool (*crtc_set_cursor)(struct wlr_drm_backend *drm, struct wlr_drm_crtc *crtc, struct gbm_bo *bo); -- cgit v1.2.3