summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher James Halse Rogers <raof@ubuntu.com>2013-02-16 16:39:07 +1100
committerPaul Berry <stereotype441@gmail.com>2013-02-16 08:11:14 -0800
commitdd599188d2868838541859a76800a8420958d358 (patch)
treeb5d3cde99f2c68dee79e93ad87c4069fb924d7eb
parentf1ab67c13ab97f19c08d99c6ba101edc7d7b80e6 (diff)
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 <eric@anholt.net>
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit.cpp4
1 files 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 fd004891c80..37524ad1a14 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;
}