Mesa (13.0): r600/sb: Fix memory leak
Emil Velikov
evelikov at kemper.freedesktop.org
Mon Feb 20 11:48:11 UTC 2017
Module: Mesa
Branch: 13.0
Commit: 9f669540479768c28557ace2f5aef2025ba70b0a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9f669540479768c28557ace2f5aef2025ba70b0a
Author: Bartosz Tomczyk <bartosz.tomczyk86 at gmail.com>
Date: Sun Jan 29 19:10:25 2017 +0100
r600/sb: Fix memory leak
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit 94262e5f5db1f5c7865ced251c440bc5f3f4a89d)
Fixes: e933246013ee ("r600/sb: Fix loop optimization related hangs on eg")
Nominated-by: Andreas Boll <andreas.boll.dev at gmail.com>
---
src/gallium/drivers/r600/sb/sb_valtable.cpp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/sb/sb_valtable.cpp b/src/gallium/drivers/r600/sb/sb_valtable.cpp
index a8b7b49..d31a1b7 100644
--- a/src/gallium/drivers/r600/sb/sb_valtable.cpp
+++ b/src/gallium/drivers/r600/sb/sb_valtable.cpp
@@ -241,6 +241,7 @@ void value::remove_use(const node *n) {
{
// TODO assert((*it)->kind == kind) ?
// TODO assert((*it)->arg == arg) ?
+ delete *it;
uses.erase(it);
}
}
@@ -290,7 +291,12 @@ bool value::is_prealloc() {
}
void value::delete_uses() {
- uses.erase(uses.begin(), uses.end());
+ for (uselist::iterator it = uses.begin(); it != uses.end(); ++it)
+ {
+ delete *it;
+ }
+
+ uses.clear();
}
void ra_constraint::update_values() {
More information about the mesa-commit
mailing list