diff options
author | Scott Anderson <ascent12@hotmail.com> | 2019-04-01 19:15:56 +0300 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-04-01 19:15:56 +0300 |
commit | c01b81c99c9e7d6418611bab4fd709c4c2a8b3d9 (patch) | |
tree | 0c4fd2f6a90b3b8f21383ff093e30141c5581f16 /include | |
parent | 08454adadaa5db9f136531eddbe290a933a335bf (diff) |
render: introduce wlr_drm_format_set
This types adds a container for formats + modifiers.
A list that is of [format [modifier]] was chosen instead of
[format modifer] because that is how GBM accepts them.
Co-Authored-By: emersion <contact@emersion.fr>
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/render/drm_format_set.h | 27 | ||||
-rw-r--r-- | include/wlr/render/meson.build | 3 |
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', ) |