mesa/st: Fix vertex buffer leak
authorThomas Hellstrom <thellstrom@vmware.com>
Mon, 7 Feb 2011 14:37:05 +0000 (15:37 +0100)
committerThomas Hellstrom <thellstrom@vmware.com>
Tue, 8 Feb 2011 10:01:21 +0000 (11:01 +0100)
Make sure we unreference the vertex buffer pointers in a local array.
This fixes huge vertex buffer / memory leaks in mesa demos "fire" and "engine".

NOTE: This is a candidate for the 7.9 and 7.10 branches.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
src/mesa/state_tracker/st_draw_feedback.c

index 4e76a050701cf837ac51edd684f1099a659a2092..c11c7696e30d1c7f9b941a06f4a281d9b3a3203b 100644 (file)
@@ -261,6 +261,7 @@ st_feedback_draw_vbo(struct gl_context *ctx,
          pipe_buffer_unmap(pipe, vb_transfer[i]);
          pipe_resource_reference(&draw->pt.vertex_buffer[i].buffer, NULL);
          draw_set_mapped_vertex_buffer(draw, i, NULL);
+         pipe_resource_reference(&vbuffers[i].buffer, NULL);
       }
    }