diff options
author | Leo Li <sunpeng.li@amd.com> | 2024-01-31 12:30:16 -0500 |
---|---|---|
committer | Leo Li <sunpeng.li@amd.com> | 2024-01-31 13:47:17 -0500 |
commit | 71fb55f3bf4341d250b580cb2d6a7acf21cfce39 (patch) | |
tree | db4857073939915043ebbe7e319b7c37c75613be /render/gles2/texture.c | |
parent | 3a91dc1b483fbcb480c69b4dd2af1073cf69b52f (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.c | 5 |
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); |