void
ir3_nir_post_finalize(struct ir3_compiler *compiler, nir_shader *s)
{
- NIR_PASS_V(s, nir_lower_io, nir_var_all, ir3_glsl_type_size,
- (nir_lower_io_options)0);
+ NIR_PASS_V(s, nir_lower_io, nir_var_shader_in | nir_var_shader_out,
+ ir3_glsl_type_size, (nir_lower_io_options)0);
if (s->info.stage == MESA_SHADER_FRAGMENT) {
/* NOTE: lower load_barycentric_at_sample first, since it
so->nir = (cso->type == PIPE_SHADER_IR_NIR) ? cso->ir.nir :
tgsi_to_nir(cso->tokens, pctx->screen, false);
- NIR_PASS_V(so->nir, nir_lower_io, nir_var_all, ir2_glsl_type_size,
- (nir_lower_io_options)0);
+ NIR_PASS_V(so->nir, nir_lower_io,
+ nir_var_shader_in | nir_var_shader_out,
+ ir2_glsl_type_size, (nir_lower_io_options)0);
if (ir2_optimize_nir(so->nir, true))
goto fail;
so->nir = (cso->type == PIPE_SHADER_IR_NIR) ? cso->ir.nir :
tgsi_to_nir(cso->tokens, pctx->screen, false);
- NIR_PASS_V(so->nir, nir_lower_io, nir_var_all, ir2_glsl_type_size,
- (nir_lower_io_options)0);
+ NIR_PASS_V(so->nir, nir_lower_io,
+ nir_var_shader_in | nir_var_shader_out,
+ ir2_glsl_type_size, (nir_lower_io_options)0);
if (ir2_optimize_nir(so->nir, true))
goto fail;
NIR_PASS_V(nir, nir_lower_system_values);
NIR_PASS_V(nir, nir_lower_frexp);
- NIR_PASS_V(nir, nir_lower_io, nir_var_all, ir3_glsl_type_size, 0);
+ NIR_PASS_V(nir, nir_lower_io,
+ nir_var_shader_in | nir_var_shader_out,
+ ir3_glsl_type_size, (nir_lower_io_options)0);
NIR_PASS_V(nir, gl_nir_lower_samplers, prog);
return nir;
} else if (from_spirv) {
nir = load_spirv(filenames[0], entry, stage);
- NIR_PASS_V(nir, nir_lower_io, nir_var_all, ir3_glsl_type_size,
- (nir_lower_io_options)0);
+ NIR_PASS_V(nir, nir_lower_io,
+ nir_var_shader_in | nir_var_shader_out,
+ ir3_glsl_type_size, (nir_lower_io_options)0);
/* TODO do this somewhere else */
nir_lower_int64(nir, ~0);