diff options
author | Simon Ser <contact@emersion.fr> | 2021-04-26 19:48:35 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-04-27 20:36:03 +0200 |
commit | 24fde77c620f7fceb62da17163ab71ea3921d373 (patch) | |
tree | bf23557f3c1a2cb3183a8bb42114e44e3f467ca7 /include | |
parent | ccbce0f0a6cf1a058b668e19b37b0aa39d81c344 (diff) |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/types/wlr_buffer.h | 5 | ||||
-rw-r--r-- | include/wlr/types/wlr_buffer.h | 2 |
2 files changed, 4 insertions, 3 deletions
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 <wlr/types/wlr_buffer.h> + /** * 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); }; |