diff options
author | Simon Ser <contact@emersion.fr> | 2021-02-16 19:20:00 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-02-23 16:09:26 +0100 |
commit | ddfee63055d53b975039e768cdb5ee3ea92ab5ab (patch) | |
tree | 0679d0b6a24a411437b58dbc2250c46483f5b7af /render/wlr_renderer.c | |
parent | 549435aee52164b925716283ce38597de85bc2bf (diff) |
render: use DRM formats in wlr_renderer_get_shm_texture_formats
Diffstat (limited to 'render/wlr_renderer.c')
-rw-r--r-- | render/wlr_renderer.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index 4bbbaf59..cc97c20d 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -9,6 +9,7 @@ #include <wlr/types/wlr_matrix.h> #include <wlr/util/log.h> #include "util/signal.h" +#include "render/shm_format.h" #include "render/wlr_renderer.h" #include "backend/backend.h" @@ -151,8 +152,8 @@ void wlr_render_ellipse_with_matrix(struct wlr_renderer *r, r->impl->render_ellipse_with_matrix(r, color, matrix); } -const enum wl_shm_format *wlr_renderer_get_shm_texture_formats( - struct wlr_renderer *r, size_t *len) { +const uint32_t *wlr_renderer_get_shm_texture_formats(struct wlr_renderer *r, + size_t *len) { return r->impl->get_shm_texture_formats(r, len); } @@ -217,8 +218,7 @@ bool wlr_renderer_init_wl_display(struct wlr_renderer *r, } size_t len; - const enum wl_shm_format *formats = - wlr_renderer_get_shm_texture_formats(r, &len); + const uint32_t *formats = wlr_renderer_get_shm_texture_formats(r, &len); if (formats == NULL) { wlr_log(WLR_ERROR, "Failed to initialize shm: cannot get formats"); return false; @@ -228,7 +228,8 @@ bool wlr_renderer_init_wl_display(struct wlr_renderer *r, for (size_t i = 0; i < len; ++i) { // ARGB8888 and XRGB8888 must be supported and are implicitly // advertised by wl_display_init_shm - switch (formats[i]) { + enum wl_shm_format fmt = convert_drm_format_to_wl_shm(formats[i]); + switch (fmt) { case WL_SHM_FORMAT_ARGB8888: argb8888 = true; break; @@ -236,7 +237,7 @@ bool wlr_renderer_init_wl_display(struct wlr_renderer *r, xrgb8888 = true; break; default: - wl_display_add_shm_format(wl_display, formats[i]); + wl_display_add_shm_format(wl_display, fmt); } } assert(argb8888 && xrgb8888); |