diff options
author | Simon Ser <contact@emersion.fr> | 2024-02-14 18:54:01 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2024-02-14 19:13:23 +0100 |
commit | 505175e56f42700649158bfd4ad622860ceaa80b (patch) | |
tree | e05675bd0404a8e72d04deb5d4b8d363f74fd334 /include/backend/drm | |
parent | 836cb820d0b25135cc861782df2781bf2d177795 (diff) |
backend/drm: atomically reset state after VT switch
Allows the KMS driver to parallelize the modesets, so should be
faster than going through each CRTC one by one.
Diffstat (limited to 'include/backend/drm')
-rw-r--r-- | include/backend/drm/iface.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/backend/drm/iface.h b/include/backend/drm/iface.h index 2a90c4b5..6408c440 100644 --- a/include/backend/drm/iface.h +++ b/include/backend/drm/iface.h @@ -22,6 +22,8 @@ struct wlr_drm_interface { bool (*crtc_commit)(struct wlr_drm_connector *conn, const struct wlr_drm_connector_state *state, struct wlr_drm_page_flip *page_flip, uint32_t flags, bool test_only); + // Turn off everything + bool (*reset)(struct wlr_drm_backend *drm); }; extern const struct wlr_drm_interface atomic_iface; @@ -37,5 +39,6 @@ bool create_gamma_lut_blob(struct wlr_drm_backend *drm, size_t size, const uint16_t *lut, uint32_t *blob_id); bool create_fb_damage_clips_blob(struct wlr_drm_backend *drm, int width, int height, const pixman_region32_t *damage, uint32_t *blob_id); +bool drm_atomic_reset(struct wlr_drm_backend *drm); #endif |