diff options
author | Simon Zeni <simon@bl4ckb0ne.ca> | 2021-11-09 09:42:22 -0500 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-11-09 15:26:36 +0000 |
commit | 02a1ae169e66f53f2174add581c19d165d8ba882 (patch) | |
tree | 5468f7f8d49c058265da009700474e21015882be /include/render | |
parent | ab16861e8670c9d80a6188e7d878bb095c9b56ad (diff) |
render/allocator: make wlr_allocator part of the public API
Diffstat (limited to 'include/render')
-rw-r--r-- | include/render/allocator/allocator.h | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/include/render/allocator/allocator.h b/include/render/allocator/allocator.h index 5d8028cb..2abdd43d 100644 --- a/include/render/allocator/allocator.h +++ b/include/render/allocator/allocator.h @@ -1,52 +1,7 @@ #ifndef RENDER_ALLOCATOR_ALLOCATOR_H #define RENDER_ALLOCATOR_ALLOCATOR_H -#include <stdbool.h> -#include <wayland-server-core.h> -#include <wlr/render/drm_format_set.h> - -struct wlr_allocator; -struct wlr_backend; -struct wlr_renderer; - -struct wlr_allocator_interface { - struct wlr_buffer *(*create_buffer)(struct wlr_allocator *alloc, - int width, int height, const struct wlr_drm_format *format); - void (*destroy)(struct wlr_allocator *alloc); -}; - -struct wlr_allocator { - const struct wlr_allocator_interface *impl; - - // Capabilities of the buffers created with this allocator - uint32_t buffer_caps; - - struct { - struct wl_signal destroy; - } events; -}; - -/** - * Creates the adequate wlr_allocator given a backend and a renderer - */ -struct wlr_allocator *wlr_allocator_autocreate(struct wlr_backend *backend, - struct wlr_renderer *renderer); -/** - * Destroy the allocator. - */ -void wlr_allocator_destroy(struct wlr_allocator *alloc); -/** - * Allocate a new buffer. - * - * When the caller is done with it, they must unreference it by calling - * wlr_buffer_drop. - */ -struct wlr_buffer *wlr_allocator_create_buffer(struct wlr_allocator *alloc, - int width, int height, const struct wlr_drm_format *format); - -// For wlr_allocator implementors -void wlr_allocator_init(struct wlr_allocator *alloc, - const struct wlr_allocator_interface *impl, uint32_t buffer_caps); +#include <wlr/render/allocator.h> struct wlr_allocator *allocator_autocreate_with_drm_fd( struct wlr_backend *backend, struct wlr_renderer *renderer, int drm_fd); |