From 505175e56f42700649158bfd4ad622860ceaa80b Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 14 Feb 2024 18:54:01 +0100 Subject: 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. --- include/backend/drm/iface.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/backend/drm') 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 -- cgit v1.2.3