diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c index dfe69356..e8c0d191 100644 --- a/backend/wayland/backend.c +++ b/backend/wayland/backend.c @@ -17,6 +17,7 @@ #include "backend/backend.h" #include "backend/wayland.h" +#include "render/allocator.h" #include "render/drm_format_set.h" #include "render/pixel_format.h" #include "render/wlr_renderer.h" @@ -451,11 +452,10 @@ struct wlr_backend *wlr_wl_backend_create(struct wl_display *display, goto error_drm_fd; } - uint32_t caps = renderer_get_render_buffer_caps(renderer); const struct wlr_drm_format_set *remote_formats; - if ((caps & WLR_BUFFER_CAP_DMABUF) && wl->zwp_linux_dmabuf_v1) { + if ((allocator->buffer_caps & WLR_BUFFER_CAP_DMABUF) && wl->zwp_linux_dmabuf_v1) { remote_formats = &wl->linux_dmabuf_v1_formats; - } else if ((caps & WLR_BUFFER_CAP_DATA_PTR) && wl->shm) { + } else if ((allocator->buffer_caps & WLR_BUFFER_CAP_SHM) && wl->shm) { remote_formats = &wl->shm_formats; } else { wlr_log(WLR_ERROR, diff --git a/backend/x11/backend.c b/backend/x11/backend.c index fbc9d33e..d914ffb1 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -32,9 +32,8 @@ #include "backend/backend.h" #include "backend/x11.h" +#include "render/allocator.h" #include "render/drm_format_set.h" -#include "render/gbm_allocator.h" -#include "render/shm_allocator.h" #include "render/wlr_renderer.h" #include "types/wlr_buffer.h" #include "util/signal.h" @@ -619,11 +618,10 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display, goto error_event; } - uint32_t caps = renderer_get_render_buffer_caps(renderer); const struct wlr_drm_format_set *pixmap_formats; - if (x11->have_dri3 && (caps & WLR_BUFFER_CAP_DMABUF)) { + if (x11->have_dri3 && (allocator->buffer_caps & WLR_BUFFER_CAP_DMABUF)) { pixmap_formats = &x11->dri3_formats; - } else if (x11->have_shm && (caps & WLR_BUFFER_CAP_DATA_PTR)) { + } else if (x11->have_shm && (allocator->buffer_caps & WLR_BUFFER_CAP_SHM)) { pixmap_formats = &x11->shm_formats; } else { wlr_log(WLR_ERROR,