diff options
| author | Simon Ser <contact@emersion.fr> | 2022-08-18 19:17:33 +0200 | 
|---|---|---|
| committer | Simon Ser <contact@emersion.fr> | 2023-02-20 18:38:57 +0100 | 
| commit | 9d43e7e4d67d4076c8b20ee2715eadec86a83e73 (patch) | |
| tree | 1c75d2e0719d5a48ac97d5d1fb80c28f84ee66a1 /include/backend/drm | |
| parent | b4e9487312a8b5b80c56ddfdd5751c12882cd3a9 (diff) | |
| download | wlroots-9d43e7e4d67d4076c8b20ee2715eadec86a83e73.tar.xz | |
backend/drm: add libliftoff interface
Diffstat (limited to 'include/backend/drm')
| -rw-r--r-- | include/backend/drm/drm.h | 6 | ||||
| -rw-r--r-- | include/backend/drm/iface.h | 9 | 
2 files changed, 15 insertions, 0 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h index 0c07811b..f2cd9c50 100644 --- a/include/backend/drm/drm.h +++ b/include/backend/drm/drm.h @@ -30,11 +30,16 @@ struct wlr_drm_plane {  	struct wlr_drm_format_set formats;  	union wlr_drm_plane_props props; + +	uint32_t initial_crtc_id; +	struct liftoff_plane *liftoff; +	struct liftoff_layer *liftoff_layer;  };  struct wlr_drm_crtc {  	uint32_t id;  	struct wlr_drm_lease *lease; +	struct liftoff_output *liftoff;  	// Atomic modesetting only  	uint32_t mode_id; @@ -60,6 +65,7 @@ struct wlr_drm_backend {  	int fd;  	char *name;  	struct wlr_device *dev; +	struct liftoff_device *liftoff;  	size_t num_crtcs;  	struct wlr_drm_crtc *crtcs; 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  | 
