From 24fde77c620f7fceb62da17163ab71ea3921d373 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 26 Apr 2021 19:48:35 +0200 Subject: buffer: add format param to get_data_ptr Allow wlr_buffer_impl.get_data_ptr to return a format. This allows the Pixman renderer to not care about get_dmabuf/get_shm, and only care about get_data_ptr. This will also help with [1], because client wl_shm buffers can't implement get_shm. [1]: https://github.com/swaywm/wlroots/pull/2892 References: https://github.com/swaywm/wlroots/issues/2864 --- include/types/wlr_buffer.h | 5 +++-- include/wlr/types/wlr_buffer.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/types/wlr_buffer.h b/include/types/wlr_buffer.h index 8f62179a..35b0dce0 100644 --- a/include/types/wlr_buffer.h +++ b/include/types/wlr_buffer.h @@ -2,14 +2,15 @@ #define TYPES_WLR_BUFFER #include + /** * Access a pointer to the allocated data from the underlying implementation, - * and its stride. + * its format and its stride. * * The returned pointer should be pointing to a valid memory location for read * and write operations. */ bool buffer_get_data_ptr(struct wlr_buffer *buffer, void **data, - size_t *stride); + uint32_t *format, size_t *stride); #endif diff --git a/include/wlr/types/wlr_buffer.h b/include/wlr/types/wlr_buffer.h index ca94e93c..3b8b76f6 100644 --- a/include/wlr/types/wlr_buffer.h +++ b/include/wlr/types/wlr_buffer.h @@ -27,7 +27,7 @@ struct wlr_buffer_impl { bool (*get_dmabuf)(struct wlr_buffer *buffer, struct wlr_dmabuf_attributes *attribs); bool (*get_data_ptr)(struct wlr_buffer *buffer, void **data, - size_t *stride); + uint32_t *format, size_t *stride); bool (*get_shm)(struct wlr_buffer *buffer, struct wlr_shm_attributes *attribs); }; -- cgit v1.2.3