diff options
author | Alexander Orzechowski <alex@ozal.ski> | 2023-07-05 13:06:37 -0400 |
---|---|---|
committer | Alexander Orzechowski <alex@ozal.ski> | 2023-11-30 10:13:18 -0500 |
commit | 829e34b305a15a10cc8c40f1f8eb228dbf71a325 (patch) | |
tree | 197d9700ff7bb02778136eaff0cbdcd3701bd3ad | |
parent | cb5f67431b782ab20a9ea8dd68471740e5d20f7b (diff) |
render/gles2: Don't track image in texture
We can get it from the buffer
-rw-r--r-- | include/render/gles2.h | 2 | ||||
-rw-r--r-- | render/gles2/texture.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/include/render/gles2.h b/include/render/gles2.h index c868fe05..f61f335d 100644 --- a/include/render/gles2.h +++ b/include/render/gles2.h @@ -125,8 +125,6 @@ struct wlr_gles2_texture { bool owns_tex; GLuint tex; - EGLImageKHR image; - bool has_alpha; // Only affects target == GL_TEXTURE_2D diff --git a/render/gles2/texture.c b/render/gles2/texture.c index a4522129..49412054 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->image != EGL_NO_IMAGE_KHR) { + if (texture->target != GL_TEXTURE_2D || texture->buffer) { return false; } @@ -107,7 +107,7 @@ static bool gles2_texture_update_from_buffer(struct wlr_texture *wlr_texture, } static bool gles2_texture_invalidate(struct wlr_gles2_texture *texture) { - if (texture->image == EGL_NO_IMAGE_KHR) { + if (!texture->buffer) { return false; } if (texture->target == GL_TEXTURE_EXTERNAL_OES) { @@ -123,7 +123,7 @@ static bool gles2_texture_invalidate(struct wlr_gles2_texture *texture) { glBindTexture(texture->target, texture->tex); texture->renderer->procs.glEGLImageTargetTexture2DOES(texture->target, - texture->image); + texture->buffer->image); glBindTexture(texture->target, 0); pop_gles2_debug(texture->renderer); @@ -299,7 +299,6 @@ static struct wlr_texture *gles2_texture_from_dmabuf( 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->image = buffer->image; struct wlr_egl_context prev_ctx; wlr_egl_save_context(&prev_ctx); |