nir: use nir_variable_create instead of open-coding the logic
authorTapani Pälli <tapani.palli@intel.com>
Mon, 25 Feb 2019 11:34:09 +0000 (13:34 +0200)
committerTapani Pälli <tapani.palli@intel.com>
Tue, 26 Feb 2019 07:00:36 +0000 (09:00 +0200)
Fixes: 3d7611e9 "st/nir: use NIR for asm programs"
Reported-by: Matthias Lorenz <oschowa@web.de>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/program/prog_to_nir.c

index 1c9d0018d556e4ed287f1e24a3c0cb318460f310..aa4f2aaf72aef411d9603e7464e50880de77b155 100644 (file)
@@ -1012,13 +1012,11 @@ prog_to_nir(const struct gl_program *prog,
    s = c->build.shader;
 
    if (prog->Parameters->NumParameters > 0) {
-      c->parameters = rzalloc(s, nir_variable);
-      c->parameters->type =
+      const struct glsl_type *type =
          glsl_array_type(glsl_vec4_type(), prog->Parameters->NumParameters, 0);
-      c->parameters->name = strdup(prog->Parameters->Parameters[0].Name);
-      c->parameters->data.read_only = true;
-      c->parameters->data.mode = nir_var_uniform;
-      exec_list_push_tail(&s->uniforms, &c->parameters->node);
+      c->parameters =
+         nir_variable_create(s, nir_var_uniform, type,
+                             prog->Parameters->Parameters[0].Name);
    }
 
    setup_registers_and_variables(c);