aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2023-07-05 13:06:37 -0400
committerAlexander Orzechowski <alex@ozal.ski>2023-11-30 10:13:18 -0500
commit829e34b305a15a10cc8c40f1f8eb228dbf71a325 (patch)
tree197d9700ff7bb02778136eaff0cbdcd3701bd3ad
parentcb5f67431b782ab20a9ea8dd68471740e5d20f7b (diff)
render/gles2: Don't track image in texture
We can get it from the buffer
-rw-r--r--include/render/gles2.h2
-rw-r--r--render/gles2/texture.c7
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);