From e42178d03fd34f9f5fba10feabfc4b35a71edd31 Mon Sep 17 00:00:00 2001 From: emersion Date: Mon, 1 Apr 2019 19:17:23 +0300 Subject: render: switch wlr_renderer to wlr_drm_format_set --- include/wlr/render/egl.h | 11 ++++------- include/wlr/render/interface.h | 5 ++--- include/wlr/render/wlr_renderer.h | 12 ++++-------- 3 files changed, 10 insertions(+), 18 deletions(-) (limited to 'include') diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h index 269af7e2..fb473ba8 100644 --- a/include/wlr/render/egl.h +++ b/include/wlr/render/egl.h @@ -21,6 +21,7 @@ #include #include #include +#include struct wlr_egl { EGLenum platform; @@ -42,6 +43,8 @@ struct wlr_egl { } exts; struct wl_display *wl_display; + + struct wlr_drm_format_set dmabuf_formats; }; // TODO: Allocate and return a wlr_egl @@ -88,13 +91,7 @@ EGLImageKHR wlr_egl_create_image_from_dmabuf(struct wlr_egl *egl, /** * Get the available dmabuf formats */ -int wlr_egl_get_dmabuf_formats(struct wlr_egl *egl, int **formats); - -/** - * Get the available dmabuf modifiers for a given format - */ -int wlr_egl_get_dmabuf_modifiers(struct wlr_egl *egl, int format, - uint64_t **modifiers); +const struct wlr_drm_format_set *wlr_egl_get_dmabuf_formats(struct wlr_egl *egl); bool wlr_egl_export_image_to_dmabuf(struct wlr_egl *egl, EGLImageKHR image, int32_t width, int32_t height, uint32_t flags, diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index c98a7cda..088b1efa 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -46,9 +46,8 @@ struct wlr_renderer_impl { struct wl_resource *resource); void (*wl_drm_buffer_get_size)(struct wlr_renderer *renderer, struct wl_resource *buffer, int *width, int *height); - int (*get_dmabuf_formats)(struct wlr_renderer *renderer, int **formats); - int (*get_dmabuf_modifiers)(struct wlr_renderer *renderer, int format, - uint64_t **modifiers); + const struct wlr_drm_format_set *(*get_dmabuf_formats)( + struct wlr_renderer *renderer); enum wl_shm_format (*preferred_read_format)(struct wlr_renderer *renderer); bool (*read_pixels)(struct wlr_renderer *renderer, enum wl_shm_format fmt, uint32_t *flags, uint32_t stride, uint32_t width, uint32_t height, diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index 9c031b7f..33f96b68 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -20,6 +20,7 @@ enum wlr_renderer_read_pixels_flags { }; struct wlr_renderer_impl; +struct wlr_drm_format_set; struct wlr_renderer { const struct wlr_renderer_impl *impl; @@ -87,15 +88,10 @@ bool wlr_renderer_resource_is_wl_drm_buffer(struct wlr_renderer *renderer, void wlr_renderer_wl_drm_buffer_get_size(struct wlr_renderer *renderer, struct wl_resource *buffer, int *width, int *height); /** - * Get the available dmabuf formats + * Get the available DMA-BUF formats. */ -int wlr_renderer_get_dmabuf_formats(struct wlr_renderer *renderer, - int **formats); -/** - * Get the available dmabuf modifiers for a given format - */ -int wlr_renderer_get_dmabuf_modifiers(struct wlr_renderer *renderer, int format, - uint64_t **modifiers); +const struct wlr_drm_format_set *wlr_renderer_get_dmabuf_formats( + struct wlr_renderer *renderer); /** * Reads out of pixels of the currently bound surface into data. `stride` is in * bytes. -- cgit v1.2.3