Backport screenshooter fixes from the renderer redesign v1

This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
This commit is contained in:
emersion 2018-01-23 22:06:54 +01:00
parent 03440bbd83
commit 4fa90b0511
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
21 changed files with 178 additions and 97 deletions

View file

@ -62,10 +62,24 @@ static struct wlr_egl *multi_backend_get_egl(struct wlr_backend *wlr_backend) {
return NULL;
}
static struct wlr_renderer *multi_backend_get_renderer(
struct wlr_backend *backend) {
struct wlr_multi_backend *multi = (struct wlr_multi_backend *)backend;
struct subbackend_state *sub;
wl_list_for_each(sub, &multi->backends, link) {
struct wlr_renderer *rend = wlr_backend_get_renderer(sub->backend);
if (rend != NULL) {
return rend;
}
}
return NULL;
}
struct wlr_backend_impl backend_impl = {
.start = multi_backend_start,
.destroy = multi_backend_destroy,
.get_egl = multi_backend_get_egl,
.get_renderer = multi_backend_get_renderer,
};
static void handle_display_destroy(struct wl_listener *listener, void *data) {