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.
This commit is contained in:
Simon Ser 2024-02-14 18:54:01 +01:00
parent 836cb820d0
commit 505175e56f
5 changed files with 61 additions and 14 deletions

View file

@ -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