Lines Matching refs:producer
934 nir_shader *producer, nir_shader *consumer)
936 if (producer->info.stage == MESA_SHADER_MESH &&
955 nir_lower_io_arrays_to_elements(producer, consumer);
956 nir_validate_shader(producer, "after nir_lower_io_arrays_to_elements");
959 const bool p_is_scalar = compiler->scalar_stage[producer->info.stage];
963 NIR_PASS(_, producer, nir_lower_io_to_scalar_early, nir_var_shader_out);
965 brw_nir_optimize(producer, compiler, p_is_scalar, false);
969 if (nir_link_opt_varyings(producer, consumer))
972 NIR_PASS(_, producer, nir_remove_dead_variables, nir_var_shader_out, NULL);
975 if (nir_remove_unused_varyings(producer, consumer)) {
976 if (should_print_nir(producer)) {
978 nir_print_shader(producer, stdout);
985 NIR_PASS(_, producer, nir_lower_global_vars_to_local);
992 NIR_PASS(_, producer, nir_lower_indirect_derefs,
993 brw_nir_no_indirect_mask(compiler, producer->info.stage),
999 brw_nir_optimize(producer, compiler, p_is_scalar, false);
1003 NIR_PASS(_, producer, nir_lower_io_to_vector, nir_var_shader_out);
1004 NIR_PASS(_, producer, nir_opt_combine_stores, nir_var_shader_out);
1007 if (producer->info.stage != MESA_SHADER_TESS_CTRL &&
1008 producer->info.stage != MESA_SHADER_MESH &&
1009 producer->info.stage != MESA_SHADER_TASK) {
1020 NIR_PASS_V(producer, nir_lower_io_to_temporaries,
1021 nir_shader_get_entrypoint(producer), true, false);
1022 NIR_PASS(_, producer, nir_lower_global_vars_to_local);
1023 NIR_PASS(_, producer, nir_split_var_copies);
1024 NIR_PASS(_, producer, nir_lower_var_copies);