nir/print: Handle variables with var->name == NULL
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 30 Dec 2015 00:57:21 +0000 (16:57 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 30 Dec 2015 00:58:00 +0000 (16:58 -0800)
src/glsl/nir/nir_print.c

index 176057ffa4b6cdaa3cef0268bde6009bd453e1cc..a231494d4ada58ab668937cd068390b4db894c3f 100644 (file)
@@ -232,15 +232,20 @@ get_var_name(nir_variable *var, print_state *state)
       return entry->data;
 
    char *name;
-
-   struct set_entry *set_entry = _mesa_set_search(state->syms, var->name);
-   if (set_entry != NULL) {
-      /* we have a collision with another name, append an @ + a unique index */
-      name = ralloc_asprintf(state->syms, "%s@%u", var->name, state->index++);
+   if (var->name == NULL) {
+      name = ralloc_asprintf(state->syms, "@%u", state->index++);
    } else {
-      /* Mark this one as seen */
-      _mesa_set_add(state->syms, var->name);
-      name = var->name;
+      struct set_entry *set_entry = _mesa_set_search(state->syms, var->name);
+      if (set_entry != NULL) {
+         /* we have a collision with another name, append an @ + a unique
+          * index */
+         name = ralloc_asprintf(state->syms, "%s@%u", var->name,
+                                state->index++);
+      } else {
+         /* Mark this one as seen */
+         _mesa_set_add(state->syms, var->name);
+         name = var->name;
+      }
    }
 
    _mesa_hash_table_insert(state->ht, var, name);