From 27fba3df4347df65fbb8b0781ae407e410ef458b Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 16 Feb 2021 19:41:40 +0100 Subject: [PATCH] render: use DRM formats in wlr_texture_from_pixels --- include/render/gles2.h | 2 +- include/wlr/render/interface.h | 4 ++-- include/wlr/render/wlr_texture.h | 2 +- render/gles2/renderer.c | 1 - render/gles2/texture.c | 7 +++---- render/wlr_texture.c | 6 +++--- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/render/gles2.h b/include/render/gles2.h index 7072a278..c152b944 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -121,7 +121,7 @@ struct wlr_gles2_texture *gles2_get_texture( struct wlr_texture *wlr_texture); struct wlr_texture *gles2_texture_from_pixels(struct wlr_renderer *wlr_renderer, - enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width, uint32_t height, + uint32_t fmt, uint32_t stride, uint32_t width, uint32_t height, const void *data); struct wlr_texture *gles2_texture_from_wl_drm(struct wlr_renderer *wlr_renderer, struct wl_resource *data); diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index bf2fea40..d755dbd6 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -48,8 +48,8 @@ struct wlr_renderer_impl { uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y, void *data); struct wlr_texture *(*texture_from_pixels)(struct wlr_renderer *renderer, - enum wl_shm_format fmt, uint32_t stride, uint32_t width, - uint32_t height, const void *data); + uint32_t fmt, uint32_t stride, uint32_t width, uint32_t height, + const void *data); struct wlr_texture *(*texture_from_wl_drm)(struct wlr_renderer *renderer, struct wl_resource *data); struct wlr_texture *(*texture_from_dmabuf)(struct wlr_renderer *renderer, diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h index 3a4840ac..219d514a 100644 --- a/include/wlr/render/wlr_texture.h +++ b/include/wlr/render/wlr_texture.h @@ -29,7 +29,7 @@ struct wlr_texture { * between attaching a renderer to an output and committing it. */ struct wlr_texture *wlr_texture_from_pixels(struct wlr_renderer *renderer, - enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width, uint32_t height, + uint32_t fmt, uint32_t stride, uint32_t width, uint32_t height, const void *data); /** diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c index 437a606a..196d0573 100644 --- a/render/gles2/renderer.c +++ b/render/gles2/renderer.c @@ -15,7 +15,6 @@ #include #include #include "render/gles2.h" -#include "render/shm_format.h" static const GLfloat verts[] = { 1, 0, // top right diff --git a/render/gles2/texture.c b/render/gles2/texture.c index e2d492f5..a3400eb2 100644 --- a/render/gles2/texture.c +++ b/render/gles2/texture.c @@ -12,7 +12,6 @@ #include #include #include "render/gles2.h" -#include "render/shm_format.h" #include "util/signal.h" static const struct wlr_texture_impl texture_impl; @@ -153,14 +152,14 @@ static const struct wlr_texture_impl texture_impl = { }; struct wlr_texture *gles2_texture_from_pixels(struct wlr_renderer *wlr_renderer, - enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width, + uint32_t drm_format, uint32_t stride, uint32_t width, uint32_t height, const void *data) { struct wlr_gles2_renderer *renderer = gles2_get_renderer(wlr_renderer); const struct wlr_gles2_pixel_format *fmt = - get_gles2_format_from_drm(convert_wl_shm_format_to_drm(wl_fmt)); + get_gles2_format_from_drm(drm_format); if (fmt == NULL) { - wlr_log(WLR_ERROR, "Unsupported pixel format %"PRIu32, wl_fmt); + wlr_log(WLR_ERROR, "Unsupported pixel format 0x%"PRIX32, drm_format); return NULL; } diff --git a/render/wlr_texture.c b/render/wlr_texture.c index b0b22565..e9a3e3b4 100644 --- a/render/wlr_texture.c +++ b/render/wlr_texture.c @@ -20,9 +20,9 @@ void wlr_texture_destroy(struct wlr_texture *texture) { } struct wlr_texture *wlr_texture_from_pixels(struct wlr_renderer *renderer, - enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width, - uint32_t height, const void *data) { - return renderer->impl->texture_from_pixels(renderer, wl_fmt, stride, width, + uint32_t fmt, uint32_t stride, uint32_t width, uint32_t height, + const void *data) { + return renderer->impl->texture_from_pixels(renderer, fmt, stride, width, height, data); }