diff options
author | Simon Ser <contact@emersion.fr> | 2023-11-30 16:38:25 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-11-30 16:38:25 +0100 |
commit | 876d789ad5c83029c72f1caeb5a586088ef07225 (patch) | |
tree | 8e3482dbb16b39b90610294b73d2a36102c25deb | |
parent | 84bef5c0c23ea54351c16ab3bc79edc8aa498b93 (diff) |
render/gles2: reword wlr_gles2_texture comments
These comments were a bit misleading:
- "GL_TEXTURE_2D == mutable": not really, imported non-external-only
DMA-BUFs would also use this target, but are not mutable.
- "Only affects target == GL_TEXTURE_2D": same here.
- "If imported from a wlr_buffer": not really, would be NULL if
imported from a shm wlr_buffer.
Adjust these comments to better reflect reality and adjust the check
in gles2_texture_update_from_buffer().
-rw-r--r-- | include/render/gles2.h | 9 | ||||
-rw-r--r-- | render/gles2/texture.c | 2 |
2 files changed, 3 insertions, 8 deletions
diff --git a/include/render/gles2.h b/include/render/gles2.h index 58972675..60bf4d17 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -118,19 +118,14 @@ struct wlr_gles2_texture { struct wlr_gles2_renderer *renderer; struct wl_list link; // wlr_gles2_renderer.textures - // Basically: - // GL_TEXTURE_2D == mutable - // GL_TEXTURE_EXTERNAL_OES == immutable GLenum target; bool owns_tex; GLuint tex; bool has_alpha; - // Only affects target == GL_TEXTURE_2D - uint32_t drm_format; // used to interpret upload data - // If imported from a wlr_buffer - struct wlr_gles2_buffer *buffer; + uint32_t drm_format; // for mutable textures only, used to interpret upload data + struct wlr_gles2_buffer *buffer; // for DMA-BUF imports only }; struct wlr_gles2_render_pass { diff --git a/render/gles2/texture.c b/render/gles2/texture.c index 51c6290d..3c9720c1 100644 --- a/render/gles2/texture.c +++ b/render/gles2/texture.c @@ -32,7 +32,7 @@ static bool gles2_texture_update_from_buffer(struct wlr_texture *wlr_texture, struct wlr_buffer *buffer, const pixman_region32_t *damage) { struct wlr_gles2_texture *texture = gles2_get_texture(wlr_texture); - if (texture->target != GL_TEXTURE_2D || texture->buffer) { + if (texture->drm_format == DRM_FORMAT_INVALID) { return false; } |