diff options
author | Simon Ser <contact@emersion.fr> | 2021-02-09 20:57:47 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-04-17 09:54:39 +0200 |
commit | c6b009ef85fce07f490378e63ac8f3d17b5db92f (patch) | |
tree | 043e67fb82f4febe8586c697860250c226594e92 /include/render/shm_allocator.h | |
parent | 6c61de996c14047c5f82ee9f29ddb90b341c160a (diff) |
render: introduce shared memory allocator
It allocates in local main memory via shm_open, and provides a FD
to allow sharing with other processes.
This is suitable for software rendering under the Wayland and X11
backends.
Diffstat (limited to 'include/render/shm_allocator.h')
-rw-r--r-- | include/render/shm_allocator.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/render/shm_allocator.h b/include/render/shm_allocator.h new file mode 100644 index 00000000..e6cba83b --- /dev/null +++ b/include/render/shm_allocator.h @@ -0,0 +1,23 @@ +#ifndef RENDER_SHM_ALLOCATOR_H +#define RENDER_SHM_ALLOCATOR_H + +#include <wlr/types/wlr_buffer.h> +#include "render/allocator.h" + +struct wlr_shm_buffer { + struct wlr_buffer base; + struct wlr_shm_attributes shm; + void *data; + size_t size; +}; + +struct wlr_shm_allocator { + struct wlr_allocator base; +}; + +/** + * Creates a new shared memory allocator. + */ +struct wlr_shm_allocator *wlr_shm_allocator_create(void); + +#endif |