summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_nir_builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker/st_nir_builtins.c')
-rw-r--r--src/mesa/state_tracker/st_nir_builtins.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/mesa/state_tracker/st_nir_builtins.c b/src/mesa/state_tracker/st_nir_builtins.c
index ba403c8615b..e5fed26e640 100644
--- a/src/mesa/state_tracker/st_nir_builtins.c
+++ b/src/mesa/state_tracker/st_nir_builtins.c
@@ -112,26 +112,22 @@ st_nir_make_passthrough_shader(struct st_context *st,
nir_builder b = nir_builder_init_simple_shader(stage, options,
"%s", shader_name);
- char var_name[15];
-
for (unsigned i = 0; i < num_vars; i++) {
nir_variable *in;
if (sysval_mask & (1 << i)) {
- snprintf(var_name, sizeof(var_name), "sys_%u", input_locations[i]);
- in = nir_variable_create(b.shader, nir_var_system_value,
- glsl_int_type(), var_name);
+ in = nir_create_variable_with_location(b.shader, nir_var_system_value,
+ input_locations[i],
+ glsl_int_type());
} else {
- snprintf(var_name, sizeof(var_name), "in_%u", input_locations[i]);
- in = nir_variable_create(b.shader, nir_var_shader_in, vec4, var_name);
+ in = nir_create_variable_with_location(b.shader, nir_var_shader_in,
+ input_locations[i], vec4);
}
- in->data.location = input_locations[i];
if (interpolation_modes)
in->data.interpolation = interpolation_modes[i];
- snprintf(var_name, sizeof(var_name), "out_%u", output_locations[i]);
nir_variable *out =
- nir_variable_create(b.shader, nir_var_shader_out, in->type, var_name);
- out->data.location = output_locations[i];
+ nir_create_variable_with_location(b.shader, nir_var_shader_out,
+ output_locations[i], in->type);
out->data.interpolation = in->data.interpolation;
nir_copy_var(&b, out, in);
@@ -161,10 +157,8 @@ st_nir_make_clearcolor_shader(struct st_context *st)
.range = 16,
.dest_type = nir_type_float32);
- nir_variable *color_out =
- nir_variable_create(b.shader, nir_var_shader_out, glsl_vec_type(4),
- "outcolor");
- color_out->data.location = FRAG_RESULT_COLOR;
+ nir_variable *color_out = nir_create_variable_with_location(b.shader, nir_var_shader_out,
+ FRAG_RESULT_COLOR, glsl_vec4_type());
/* Write out the color */
nir_store_var(&b, color_out, clear_color, 0xf);