aboutsummaryrefslogtreecommitdiff
path: root/include/backend/drm/iface.h
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-08-18 19:17:33 +0200
committerSimon Ser <contact@emersion.fr>2023-02-20 18:38:57 +0100
commit9d43e7e4d67d4076c8b20ee2715eadec86a83e73 (patch)
tree1c75d2e0719d5a48ac97d5d1fb80c28f84ee66a1 /include/backend/drm/iface.h
parentb4e9487312a8b5b80c56ddfdd5751c12882cd3a9 (diff)
backend/drm: add libliftoff interface
Diffstat (limited to 'include/backend/drm/iface.h')
-rw-r--r--include/backend/drm/iface.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/backend/drm/iface.h b/include/backend/drm/iface.h
index d52bbd3d..c4bd62e4 100644
--- a/include/backend/drm/iface.h
+++ b/include/backend/drm/iface.h
@@ -13,6 +13,8 @@ struct wlr_drm_connector_state;
// Used to provide atomic or legacy DRM functions
struct wlr_drm_interface {
+ bool (*init)(struct wlr_drm_backend *drm);
+ void (*finish)(struct wlr_drm_backend *drm);
// Commit all pending changes on a CRTC.
bool (*crtc_commit)(struct wlr_drm_connector *conn,
const struct wlr_drm_connector_state *state, uint32_t flags,
@@ -21,8 +23,15 @@ struct wlr_drm_interface {
extern const struct wlr_drm_interface atomic_iface;
extern const struct wlr_drm_interface legacy_iface;
+extern const struct wlr_drm_interface liftoff_iface;
bool drm_legacy_crtc_set_gamma(struct wlr_drm_backend *drm,
struct wlr_drm_crtc *crtc, size_t size, uint16_t *lut);
+bool create_mode_blob(struct wlr_drm_backend *drm,
+ struct wlr_drm_connector *conn,
+ const struct wlr_drm_connector_state *state, uint32_t *blob_id);
+bool create_gamma_lut_blob(struct wlr_drm_backend *drm,
+ size_t size, const uint16_t *lut, uint32_t *blob_id);
+
#endif