May I suggest https://github.com/Zoxc/weston/commit/062f5ca5dc5809c027f693f2d642bc24f568e348instead?
On Wed, Jun 5, 2013 at 11:21 AM, Ander Conselvan de Oliveira < [email protected]> wrote: > From: Ander Conselvan de Oliveira <[email protected]> > > When attaching a new buffer, the EGL images created for the previous one > would be released if this new buffer was an EGL or NULL buffer, but not > if is was an SHM buffer. This wouldn't cause the resources to be leaked > becaused they are free()'d when the surface is destroyed, but they > would linger around for longer than necessary. > > Note that this change the behaviour when attaching an unknow buffer > type. Before the EGL images would still be around, but now that would > cause them to be destroyed. > --- > src/gl-renderer.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/src/gl-renderer.c b/src/gl-renderer.c > index d783a0b..13c0fa9 100644 > --- a/src/gl-renderer.c > +++ b/src/gl-renderer.c > @@ -1192,12 +1192,13 @@ gl_renderer_attach(struct weston_surface *es, > struct wl_buffer *buffer) > > weston_buffer_reference(&gs->buffer_ref, buffer); > > + for (i = 0; i < gs->num_images; i++) { > + gr->destroy_image(gr->egl_display, gs->images[i]); > + gs->images[i] = NULL; > + } > + gs->num_images = 0; > + > if (!buffer) { > - for (i = 0; i < gs->num_images; i++) { > - gr->destroy_image(gr->egl_display, gs->images[i]); > - gs->images[i] = NULL; > - } > - gs->num_images = 0; > glDeleteTextures(gs->num_textures, gs->textures); > gs->num_textures = 0; > return; > @@ -1219,9 +1220,6 @@ gl_renderer_attach(struct weston_surface *es, struct > wl_buffer *buffer) > gs->shader = &gr->texture_shader_rgba; > } else if (gr->query_buffer(gr->egl_display, buffer, > EGL_TEXTURE_FORMAT, &format)) { > - for (i = 0; i < gs->num_images; i++) > - gr->destroy_image(gr->egl_display, gs->images[i]); > - gs->num_images = 0; > gs->target = GL_TEXTURE_2D; > switch (format) { > case EGL_TEXTURE_RGB: > -- > 1.7.9.5 > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel >
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
