1 #ifndef LIBDS_LINUX_DMABUF_V1_H
2 #define LIBDS_LINUX_DMABUF_V1_H
4 #include <wayland-server.h>
5 #include <libds/buffer.h>
7 #define LINUX_DMABUF_MAX_PLANES 4
9 struct ds_linux_dmabuf_v1;
11 struct ds_linux_dmabuf_v1_buffer;
13 struct ds_linux_dmabuf_v1_attributes {
19 int fd[LINUX_DMABUF_MAX_PLANES];
20 uint32_t offset[LINUX_DMABUF_MAX_PLANES];
21 uint32_t stride[LINUX_DMABUF_MAX_PLANES];
22 uint64_t modifier[LINUX_DMABUF_MAX_PLANES];
25 struct ds_linux_dmabuf_v1_format {
31 struct ds_linux_dmabuf_v1 *
32 ds_linux_dmabuf_v1_create(struct wl_display *display,
33 const struct ds_linux_dmabuf_v1_format *supported_formats, int num_formats);
35 struct ds_linux_dmabuf_v1_buffer *
36 ds_linux_dmabuf_v1_buffer_from_buffer(struct ds_buffer *ds_buffer);
38 const struct ds_linux_dmabuf_v1_attributes *
39 ds_linux_dmabuf_v1_buffer_get_attributes(struct ds_linux_dmabuf_v1_buffer *dmabuf_buffer);