diff options
author | Simon Zeni <[email protected]> | 2021-11-15 13:32:52 -0500 |
---|---|---|
committer | Simon Ser <[email protected]> | 2021-11-18 17:47:19 +0100 |
commit | 5865af75cf8029cc703cda36b68daafcb658c97b (patch) | |
tree | 0446444369c63c05109ffab3c027127ac19da17f /sway/server.c | |
parent | cbecc5cbaed6b30c995d2c245def458e383b4e38 (diff) |
sway: create wlr_renderer and wlr_allocator
wlroots now required the compositor to create its own wlr_renderer and
wlr_allocator to initialize the wlr_output
Diffstat (limited to 'sway/server.c')
-rw-r--r-- | sway/server.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/sway/server.c b/sway/server.c index b187fcd5..0d179c88 100644 --- a/sway/server.c +++ b/sway/server.c @@ -73,12 +73,23 @@ static void handle_drm_lease_request(struct wl_listener *listener, void *data) { bool server_init(struct sway_server *server) { sway_log(SWAY_DEBUG, "Initializing Wayland server"); - struct wlr_renderer *renderer = wlr_backend_get_renderer(server->backend); - assert(renderer); + server->renderer = wlr_renderer_autocreate(server->backend); + if (!server->renderer) { + sway_log(SWAY_ERROR, "Failed to create renderer"); + return false; + } + + wlr_renderer_init_wl_display(server->renderer, server->wl_display); - wlr_renderer_init_wl_display(renderer, server->wl_display); + server->allocator = wlr_allocator_autocreate(server->backend, + server->renderer); + if (!server->allocator) { + sway_log(SWAY_ERROR, "Failed to create allocator"); + return false; + } - server->compositor = wlr_compositor_create(server->wl_display, renderer); + server->compositor = wlr_compositor_create(server->wl_display, + server->renderer); server->compositor_new_surface.notify = handle_compositor_new_surface; wl_signal_add(&server->compositor->events.new_surface, &server->compositor_new_surface); @@ -212,7 +223,8 @@ bool server_init(struct sway_server *server) { root->noop_output = output_create(wlr_output); server->headless_backend = - wlr_headless_backend_create_with_renderer(server->wl_display, renderer); + wlr_headless_backend_create_with_renderer(server->wl_display, + server->renderer); if (!server->headless_backend) { sway_log(SWAY_INFO, "Failed to create secondary headless backend, " "starting without it"); |