backend/drm: add libliftoff composition layer

This will be useful for implementing the output layers API.
This commit is contained in:
Simon Ser 2021-08-10 15:25:02 +02:00
parent f7276aaf2f
commit e45ddda7bc
3 changed files with 16 additions and 9 deletions

View file

@ -292,6 +292,14 @@ static bool init_libliftoff(struct wlr_drm_backend *drm) {
return false;
}
crtc->liftoff_composition_layer = liftoff_layer_create(crtc->liftoff);
if (!crtc->liftoff_composition_layer) {
wlr_log(WLR_ERROR, "Failed to create liftoff composition layer");
return false;
}
liftoff_output_set_composition_layer(crtc->liftoff,
crtc->liftoff_composition_layer);
if (crtc->primary) {
crtc->primary->liftoff_layer = liftoff_layer_create(crtc->liftoff);
if (!crtc->primary->liftoff_layer) {
@ -387,6 +395,7 @@ void finish_drm_resources(struct wlr_drm_backend *drm) {
free(crtc->cursor);
}
liftoff_layer_destroy(crtc->liftoff_composition_layer);
liftoff_output_destroy(crtc->liftoff);
}