aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-06-01 19:49:10 +0200
committerSimon Ser <contact@emersion.fr>2020-11-15 22:48:42 +0100
commit5913040110bde856fa6dc98d3b844cf7f25f5674 (patch)
treef8546eac0668c16e98e75833683fdb37c834529b /include
parentf47445f142884dd6b6c3653bfce1a69b5c14b59a (diff)
render: introduce wlr_gbm_allocator
Diffstat (limited to 'include')
-rw-r--r--include/render/gbm_allocator.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/render/gbm_allocator.h b/include/render/gbm_allocator.h
new file mode 100644
index 00000000..f4627b90
--- /dev/null
+++ b/include/render/gbm_allocator.h
@@ -0,0 +1,29 @@
+#ifndef RENDER_GBM_ALLOCATOR_H
+#define RENDER_GBM_ALLOCATOR_H
+
+#include <gbm.h>
+#include <wlr/types/wlr_buffer.h>
+#include "render/allocator.h"
+
+struct wlr_gbm_buffer {
+ struct wlr_buffer base;
+
+ struct gbm_bo *gbm_bo;
+ struct wlr_dmabuf_attributes dmabuf;
+};
+
+struct wlr_gbm_allocator {
+ struct wlr_allocator base;
+
+ int fd;
+ struct gbm_device *gbm_device;
+};
+
+/**
+ * Creates a new GBM allocator from a render FD.
+ *
+ * Takes ownership over the FD.
+ */
+struct wlr_gbm_allocator *wlr_gbm_allocator_create(int render_fd);
+
+#endif