From dd599188d2868838541859a76800a8420958d358 Mon Sep 17 00:00:00 2001 From: Christopher James Halse Rogers Date: Sat, 16 Feb 2013 16:39:07 +1100 Subject: [PATCH] i965: Fix leak in blorp CopyTexSubImage2D _mesa_delete_renderbuffer does not call the driver-specific renderbuffer delete function, so the blorp code was leaking the Intel-specific bits, including some GEM objects. Call the renderbuffer's ->Delete() method instead, which does the right thing. Fixes Unity rapidly sending the machine into the arms of the OOM-killer Note: This is a candidate for the 9.1 branch. Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index fd00489..37524ad 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -337,7 +337,7 @@ brw_blorp_copytexsubimage(struct intel_context *intel, GLbitfield buffer_bit = 0; if (!formats_match(buffer_bit, src_irb, dst_irb)) { - _mesa_delete_renderbuffer(ctx, dst_rb); + dst_rb->Delete(ctx, dst_rb); return false; } @@ -387,7 +387,7 @@ brw_blorp_copytexsubimage(struct intel_context *intel, srcX0, srcY0, dstX0, dstY0, dstX1, dstY1, false, mirror_y); } - _mesa_delete_renderbuffer(ctx, dst_rb); + dst_rb->Delete(ctx, dst_rb); return true; } -- 2.7.4