diff options
author | Simon Ser <contact@emersion.fr> | 2021-06-08 18:57:15 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-06-09 16:41:03 +0200 |
commit | 280615490002d1a0ae3f6c3a3cd7056c95e91df6 (patch) | |
tree | dfb343c0f9695e8b202116af8af686fda6d83fee | |
parent | b2f6db3533f2aff20986ee33ed6364d8bd4553bb (diff) |
render: add missing arg to wlr_renderer_impl.get_buffer_caps
The types of buffers supported by the renderer might depend on the
renderer's instance. For instance, a renderer might only support
DMA-BUFs if the necessary EGL extensions are available.
Pass the wlr_renderer to get_buffer_caps so that the renderer can
perform such checks.
Fixes: 982498fab3c4 ("render: introduce renderer_get_render_buffer_caps")
-rw-r--r-- | include/wlr/render/interface.h | 2 | ||||
-rw-r--r-- | render/gles2/renderer.c | 2 | ||||
-rw-r--r-- | render/pixman/renderer.c | 2 | ||||
-rw-r--r-- | render/wlr_renderer.c | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 251154d8..b07c7c6f 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -56,7 +56,7 @@ struct wlr_renderer_impl { bool (*init_wl_display)(struct wlr_renderer *renderer, struct wl_display *wl_display); int (*get_drm_fd)(struct wlr_renderer *renderer); - uint32_t (*get_render_buffer_caps)(void); + uint32_t (*get_render_buffer_caps)(struct wlr_renderer *renderer); struct wlr_texture *(*texture_from_buffer)(struct wlr_renderer *renderer, struct wlr_buffer *buffer); }; diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index 0770993e..458d172f 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -524,7 +524,7 @@ static int gles2_get_drm_fd(struct wlr_renderer *wlr_renderer) { return renderer->drm_fd; } -static uint32_t gles2_get_render_buffer_caps(void) { +static uint32_t gles2_get_render_buffer_caps(struct wlr_renderer *wlr_renderer) { return WLR_BUFFER_CAP_DMABUF; } diff --git a/render/pixman/renderer.c b/render/pixman/renderer.c index 9586d403..85df25a0 100644 --- a/render/pixman/renderer.c +++ b/render/pixman/renderer.c @@ -510,7 +510,7 @@ static bool pixman_read_pixels(struct wlr_renderer *wlr_renderer, return true; } -static uint32_t pixman_get_render_buffer_caps(void) { +static uint32_t pixman_get_render_buffer_caps(struct wlr_renderer *renderer) { return WLR_BUFFER_CAP_DATA_PTR; } diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index 0f8976dd..f661d8d0 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -193,7 +193,7 @@ const struct wlr_drm_format_set *wlr_renderer_get_render_formats( } uint32_t renderer_get_render_buffer_caps(struct wlr_renderer *r) { - return r->impl->get_render_buffer_caps(); + return r->impl->get_render_buffer_caps(r); } bool wlr_renderer_read_pixels(struct wlr_renderer *r, uint32_t fmt, |