diff options
author | emersion <contact@emersion.fr> | 2019-04-01 19:17:23 +0300 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-04-01 19:18:04 +0300 |
commit | e42178d03fd34f9f5fba10feabfc4b35a71edd31 (patch) | |
tree | ae0d7f444aef0af32447c189cfff7074c86d8eb7 /include | |
parent | c01b81c99c9e7d6418611bab4fd709c4c2a8b3d9 (diff) |
render: switch wlr_renderer to wlr_drm_format_set
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/render/egl.h | 11 | ||||
-rw-r--r-- | include/wlr/render/interface.h | 5 | ||||
-rw-r--r-- | include/wlr/render/wlr_renderer.h | 12 |
3 files changed, 10 insertions, 18 deletions
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 <stdbool.h> #include <wayland-server.h> #include <wlr/render/dmabuf.h> +#include <wlr/render/drm_format_set.h> 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. |