From: Mandeep Singh Baines <m...@chromium.org> Keep a reference to any newly allocated aux buffers to avoid re-allocating for every st_framebuffer_validate() (i.e. leaking).
Signed-off-by: Mandeep Singh Baines <m...@chromium.org> Cc: Ander Conselvan de Oliveira <ander.conselvan.de.olive...@intel.com> Cc: Benjamin Franzke <benjaminfran...@googlemail.com> Cc: Kristian Hogsberg <k...@bitplanet.net> Cc: David Reveman <reve...@chromium.org> Cc: Stephane Marchesin <marc...@chromium.org> --- src/egl/drivers/dri2/platform_drm.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index 18ecd17..54067ff 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -220,16 +220,15 @@ get_aux_bo(struct dri2_egl_surface *dri2_surf, { struct dri2_egl_display *dri2_dpy = dri2_egl_display(dri2_surf->base.Resource.Display); - __DRIbuffer *b; + __DRIbuffer *b = dri2_surf->dri_buffers[attachment]; - b = NULL; - if (dri2_surf->dri_buffers[attachment]) - b = dri2_surf->dri_buffers[attachment]; - if (b == NULL) + if (b == NULL) { b = dri2_dpy->dri2->allocateBuffer(dri2_dpy->dri_screen, attachment, format, dri2_surf->base.Width, dri2_surf->base.Height); + dri2_surf->dri_buffers[attachment] = b; + } if (b == NULL) return -1; -- 1.7.3.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev