diff options
author | Simon Ser <contact@emersion.fr> | 2020-05-07 17:11:32 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-05-09 16:42:25 +0200 |
commit | 69b22790923186bea48ab23e413927334eff828b (patch) | |
tree | aa116fcc5d7653d7a96d4fd4cf8f5cb1387befff /include/backend/drm | |
parent | 7a149fe5baeb61afe51228b6263e6c16ed05647b (diff) |
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).
Diffstat (limited to 'include/backend/drm')
-rw-r--r-- | include/backend/drm/drm.h | 7 | ||||
-rw-r--r-- | include/backend/drm/iface.h | 4 |
2 files changed, 9 insertions, 2 deletions
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); |