aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-06-08 18:57:15 +0200
committerSimon Ser <contact@emersion.fr>2021-06-09 16:41:03 +0200
commit280615490002d1a0ae3f6c3a3cd7056c95e91df6 (patch)
treedfb343c0f9695e8b202116af8af686fda6d83fee
parentb2f6db3533f2aff20986ee33ed6364d8bd4553bb (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.h2
-rw-r--r--render/gles2/renderer.c2
-rw-r--r--render/pixman/renderer.c2
-rw-r--r--render/wlr_renderer.c2
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,