aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/wlr/render/drm_format_set.h27
-rw-r--r--include/wlr/render/meson.build3
2 files changed, 29 insertions, 1 deletions
diff --git a/include/wlr/render/drm_format_set.h b/include/wlr/render/drm_format_set.h
new file mode 100644
index 00000000..588914ae
--- /dev/null
+++ b/include/wlr/render/drm_format_set.h
@@ -0,0 +1,27 @@
+#ifndef WLR_RENDER_DRM_FORMAT_SET_H
+#define WLR_RENDER_DRM_FORMAT_SET_H
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+
+struct wlr_drm_format {
+ uint32_t format;
+ size_t len, cap;
+ uint64_t modifiers[];
+};
+
+struct wlr_drm_format_set {
+ size_t len, cap;
+ struct wlr_drm_format **formats;
+};
+
+void wlr_drm_format_set_finish(struct wlr_drm_format_set *set);
+
+const struct wlr_drm_format *wlr_drm_format_set_get(
+ const struct wlr_drm_format_set *set, uint32_t format);
+
+bool wlr_drm_format_set_add(struct wlr_drm_format_set *set, uint32_t format,
+ uint64_t modifier);
+
+#endif
diff --git a/include/wlr/render/meson.build b/include/wlr/render/meson.build
index 05127bb7..06ebcc37 100644
--- a/include/wlr/render/meson.build
+++ b/include/wlr/render/meson.build
@@ -1,9 +1,10 @@
install_headers(
'dmabuf.h',
'egl.h',
+ 'drm_format_set.h',
'gles2.h',
'interface.h',
'wlr_renderer.h',
'wlr_texture.h',
- subdir: 'wlr/render'
+ subdir: 'wlr/render',
)