diff options
author | Simon Ser <contact@emersion.fr> | 2021-06-02 17:02:28 +0200 |
---|---|---|
committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2021-06-07 09:22:56 -0400 |
commit | 38ba5881a078eb35b3f82abaf5e4873a9a3a981e (patch) | |
tree | c195493140817034eb7b014a8f977c65d051e988 /render/drm_dumb_allocator.c | |
parent | 9e58301df7f09660cb36337211cbf5700d99810c (diff) |
buffer: replace get_data_ptr with {begin,end}_data_ptr_access
This new API allows buffer implementations to know when a user is
actively accessing the buffer's underlying storage. This is
important for the upcoming client-backed wlr_buffer implementation.
Diffstat (limited to 'render/drm_dumb_allocator.c')
-rw-r--r-- | render/drm_dumb_allocator.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/render/drm_dumb_allocator.c b/render/drm_dumb_allocator.c index 9e14e38e..9713e078 100644 --- a/render/drm_dumb_allocator.c +++ b/render/drm_dumb_allocator.c @@ -128,8 +128,8 @@ create_err: return NULL; } -static bool drm_dumb_buffer_get_data_ptr(struct wlr_buffer *wlr_buffer, void **data, - uint32_t *format, size_t *stride) { +static bool drm_dumb_buffer_begin_data_ptr_access(struct wlr_buffer *wlr_buffer, + void **data, uint32_t *format, size_t *stride) { struct wlr_drm_dumb_buffer *buf = drm_dumb_buffer_from_buffer(wlr_buffer); *data = buf->data; *stride = buf->stride; @@ -137,6 +137,10 @@ static bool drm_dumb_buffer_get_data_ptr(struct wlr_buffer *wlr_buffer, void **d return true; } +static void drm_dumb_buffer_end_data_ptr_access(struct wlr_buffer *wlr_buffer) { + // This space is intentionally left blank +} + static bool buffer_get_dmabuf(struct wlr_buffer *wlr_buffer, struct wlr_dmabuf_attributes *attribs) { struct wlr_drm_dumb_buffer *buf = drm_dumb_buffer_from_buffer(wlr_buffer); @@ -153,7 +157,8 @@ static void buffer_destroy(struct wlr_buffer *wlr_buffer) { static const struct wlr_buffer_impl buffer_impl = { .destroy = buffer_destroy, .get_dmabuf = buffer_get_dmabuf, - .get_data_ptr = drm_dumb_buffer_get_data_ptr, + .begin_data_ptr_access = drm_dumb_buffer_begin_data_ptr_access, + .end_data_ptr_access = drm_dumb_buffer_end_data_ptr_access, }; static const struct wlr_allocator_interface allocator_impl; |