diff options
Diffstat (limited to 'src/mesa/state_tracker/st_nir_builtins.c')
-rw-r--r-- | src/mesa/state_tracker/st_nir_builtins.c | 24 |
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); |