Mesa (master): i965: Fix leak in blorp CopyTexSubImage2D

Paul Berry stereotype441 at kemper.freedesktop.org
Sat Feb 16 16:17:09 UTC 2013


Module: Mesa
Branch: master
Commit: dd599188d2868838541859a76800a8420958d358
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd599188d2868838541859a76800a8420958d358

Author: Christopher James Halse Rogers <raof at ubuntu.com>
Date:   Sat Feb 16 16:39:07 2013 +1100

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 at anholt.net>

---

 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp |    4 ++--
 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 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;
 }
 




More information about the mesa-commit mailing list