r600g/sb: fix memory leaks
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
This commit is contained in:
@@ -74,6 +74,8 @@ int bc_parser::parse() {
|
||||
sh = new shader(ctx, t, bc->debug_id, enable_dump);
|
||||
int r = parse_shader();
|
||||
|
||||
delete dec;
|
||||
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
@@ -94,7 +96,6 @@ int bc_parser::parse() {
|
||||
|
||||
prepare_ir();
|
||||
|
||||
delete dec;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@@ -355,6 +355,11 @@ shader::~shader() {
|
||||
for (node_vec::iterator I = all_nodes.begin(), E = all_nodes.end();
|
||||
I != E; ++I)
|
||||
(*I)->~node();
|
||||
|
||||
for (gpr_array_vec::iterator I = gpr_arrays.begin(), E = gpr_arrays.end();
|
||||
I != E; ++I) {
|
||||
delete *I;
|
||||
}
|
||||
}
|
||||
|
||||
void shader::dump_ir() {
|
||||
|
||||
Reference in New Issue
Block a user