aboutsummaryrefslogtreecommitdiff
path: root/render/gles2/texture.c
diff options
context:
space:
mode:
authorLeo Li <sunpeng.li@amd.com>2024-01-31 12:30:16 -0500
committerLeo Li <sunpeng.li@amd.com>2024-01-31 13:47:17 -0500
commit71fb55f3bf4341d250b580cb2d6a7acf21cfce39 (patch)
treedb4857073939915043ebbe7e319b7c37c75613be /render/gles2/texture.c
parent3a91dc1b483fbcb480c69b4dd2af1073cf69b52f (diff)
render/pixel-format: Move has_alpha into it's own array
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block info. However, it doesn't make sense to store them in wlr_pixel_format_info, as they will never be useful (currently, this info is used for shm, which doesn't have a concept of multi-planar buffers.) Let's define a separate array and function for determining whether a pixel format has alpha.
Diffstat (limited to 'render/gles2/texture.c')
-rw-r--r--render/gles2/texture.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/render/gles2/texture.c b/render/gles2/texture.c
index 1cfd7bab..e4caf6ca 100644
--- a/render/gles2/texture.c
+++ b/render/gles2/texture.c
@@ -381,13 +381,10 @@ static struct wlr_texture *gles2_texture_from_dmabuf(
return NULL;
}
- const struct wlr_pixel_format_info *drm_fmt =
- drm_get_pixel_format_info(attribs->format);
-
texture->target = buffer->external_only ? GL_TEXTURE_EXTERNAL_OES : GL_TEXTURE_2D;
texture->buffer = buffer;
texture->drm_format = DRM_FORMAT_INVALID; // texture can't be written anyways
- texture->has_alpha = drm_fmt ? drm_fmt->has_alpha : true;
+ texture->has_alpha = pixel_format_has_alpha(attribs->format);
struct wlr_egl_context prev_ctx;
wlr_egl_save_context(&prev_ctx);