aboutsummaryrefslogtreecommitdiff
path: root/include/backend/drm
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2024-02-14 18:54:01 +0100
committerSimon Ser <contact@emersion.fr>2024-02-14 19:13:23 +0100
commit505175e56f42700649158bfd4ad622860ceaa80b (patch)
treee05675bd0404a8e72d04deb5d4b8d363f74fd334 /include/backend/drm
parent836cb820d0b25135cc861782df2781bf2d177795 (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.h3
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