[Mesa-dev] [PATCH 20/26] i965/fs: Don't make a name for a vector splitting temporary
Ian Romanick
idr at freedesktop.org
Mon Jul 14 15:48:52 PDT 2014
From: Ian Romanick <ian.d.romanick at intel.com>
If the name is just going to get dropped, don't bother making it. If
the name is made, release it sooner (rather than later).
No change Valgrind massif results for a trimmed apitrace of dota2.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
index 422d801..03e5fdb 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
@@ -363,12 +363,17 @@ brw_do_vector_splitting(exec_list *instructions)
entry->mem_ctx = ralloc_parent(entry->var);
for (unsigned int i = 0; i < entry->var->type->vector_elements; i++) {
- const char *name = ralloc_asprintf(mem_ctx, "%s_%c",
- entry->var->name,
- "xyzw"[i]);
+ char *const name = ir_variable::temporaries_allocate_names
+ ? ralloc_asprintf(mem_ctx, "%s_%c",
+ entry->var->name,
+ "xyzw"[i])
+ : NULL;
entry->components[i] = new(entry->mem_ctx) ir_variable(type, name,
ir_var_temporary);
+
+ ralloc_free(name);
+
entry->var->insert_before(entry->components[i]);
}
--
1.8.1.4
More information about the mesa-dev
mailing list