From cb03a41a3b73e35b3bd6295fc413900874d611bb Mon Sep 17 00:00:00 2001 From: nyorain Date: Tue, 16 Oct 2018 09:35:28 +0200 Subject: [PATCH] Use enum wl_shm_format for gles2 texture formats Also rephrase the write_pixels comment. --- include/render/gles2.h | 4 ++-- include/wlr/render/wlr_texture.h | 7 +++---- render/gles2/texture.c | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/include/render/gles2.h b/include/render/gles2.h index 04a73e27..7ff2f174 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -19,7 +19,7 @@ extern PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES; struct wlr_gles2_pixel_format { - uint32_t wl_format; + enum wl_shm_format wl_format; GLint gl_format, gl_type; int depth, bpp; bool has_alpha; @@ -72,7 +72,7 @@ struct wlr_gles2_texture { enum wlr_gles2_texture_type type; int width, height; bool has_alpha; - uint32_t wl_format; // used to interpret upload data + enum wl_shm_format wl_format; // used to interpret upload data bool inverted_y; // Not set if WLR_GLES2_TEXTURE_GLTEX diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h index 2eb5d6aa..f210717a 100644 --- a/include/wlr/render/wlr_texture.h +++ b/include/wlr/render/wlr_texture.h @@ -54,10 +54,9 @@ void wlr_texture_get_size(struct wlr_texture *texture, int *width, int *height); bool wlr_texture_is_opaque(struct wlr_texture *texture); /** - * Update a texture with raw pixels. The texture must be mutable. - * The given data is interpreted as being in the format the - * texture was created with. - */ + * Update a texture with raw pixels. The texture must be mutable, and the input + * data must have the same pixel format that the texture was created with. + */ bool wlr_texture_write_pixels(struct wlr_texture *texture, uint32_t stride, uint32_t width, uint32_t height, uint32_t src_x, uint32_t src_y, uint32_t dst_x, uint32_t dst_y, diff --git a/render/gles2/texture.c b/render/gles2/texture.c index d32cd458..d035841e 100644 --- a/render/gles2/texture.c +++ b/render/gles2/texture.c @@ -55,8 +55,8 @@ static bool gles2_texture_write_pixels(struct wlr_texture *wlr_texture, return false; } - const struct wlr_gles2_pixel_format *fmt = get_gles2_format_from_wl( - texture->wl_format); + const struct wlr_gles2_pixel_format *fmt = + get_gles2_format_from_wl(texture->wl_format); assert(fmt); // TODO: what if the unpack subimage extension isn't supported?