glsl: use a non-malloc'd storage for short ir_variable names

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák
2016-10-07 22:26:58 +02:00
parent 21e11b5282
commit 7a2387c3e0
3 changed files with 22 additions and 3 deletions

View File

@@ -639,8 +639,12 @@ lower_packed_varyings_visitor::get_packed_varying_deref(
* first time we visit each component.
*/
if (this->gs_input_vertices == 0 || vertex_index == 0) {
ralloc_asprintf_append((char **) &this->packed_varyings[slot]->name,
",%s", name);
ir_variable *var = this->packed_varyings[slot];
if (var->is_name_ralloced())
ralloc_asprintf_append((char **) &var->name, ",%s", name);
else
var->name = ralloc_asprintf(var, "%s,%s", var->name, name);
}
}