aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-05-07 17:11:32 +0200
committerSimon Ser <contact@emersion.fr>2020-05-09 16:42:25 +0200
commit69b22790923186bea48ab23e413927334eff828b (patch)
treeaa116fcc5d7653d7a96d4fd4cf8f5cb1387befff /include
parent7a149fe5baeb61afe51228b6263e6c16ed05647b (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')
-rw-r--r--include/backend/drm/drm.h7
-rw-r--r--include/backend/drm/iface.h4
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);