• Home
  • Raw
  • Download

Lines Matching full:nir

25 #include "nir/nir.h"
26 #include "nir/nir_schedule.h"
33 * \brief Contains NIR-specific functions.
37 * \brief SPIR-V to NIR compilation options.
69 * \brief Applies optimizations and passes required to lower the NIR shader into
78 nir_shader *nir, in rogue_nir_passes() argument
83 nir_validate_shader(nir, "after spirv_to_nir"); in rogue_nir_passes()
86 NIR_PASS_V(nir, nir_split_var_copies); in rogue_nir_passes()
87 NIR_PASS_V(nir, nir_split_per_member_structs); in rogue_nir_passes()
90 NIR_PASS_V(nir, nir_lower_clamp_color_outputs); in rogue_nir_passes()
93 NIR_PASS_V(nir, in rogue_nir_passes()
100 NIR_PASS_V(nir, nir_lower_io_to_scalar, nir_var_shader_in); in rogue_nir_passes()
107 NIR_PASS_V(nir, nir_opt_access, &opt_access_options); in rogue_nir_passes()
110 if (nir->info.stage == MESA_SHADER_FRAGMENT) in rogue_nir_passes()
111 NIR_PASS_V(nir, rogue_nir_pfo); in rogue_nir_passes()
114 NIR_PASS_V(nir, nir_lower_io_to_scalar, nir_var_shader_out); in rogue_nir_passes()
117 NIR_PASS_V(nir, nir_lower_alu_to_scalar, NULL, NULL); in rogue_nir_passes()
123 NIR_PASS(progress, nir, nir_copy_prop); in rogue_nir_passes()
124 NIR_PASS(progress, nir, nir_opt_cse); in rogue_nir_passes()
125 NIR_PASS(progress, nir, nir_opt_algebraic); in rogue_nir_passes()
126 NIR_PASS(progress, nir, nir_opt_constant_folding); in rogue_nir_passes()
127 NIR_PASS(progress, nir, nir_opt_dce); in rogue_nir_passes()
128 NIR_PASS_V(nir, nir_opt_gcm, false); in rogue_nir_passes()
132 NIR_PASS_V(nir, in rogue_nir_passes()
136 NIR_PASS_V(nir, rogue_nir_lower_io, NULL); in rogue_nir_passes()
142 NIR_PASS(progress, nir, nir_opt_algebraic_late); in rogue_nir_passes()
143 NIR_PASS_V(nir, nir_opt_constant_folding); in rogue_nir_passes()
144 NIR_PASS_V(nir, nir_copy_prop); in rogue_nir_passes()
145 NIR_PASS_V(nir, nir_opt_dce); in rogue_nir_passes()
146 NIR_PASS_V(nir, nir_opt_cse); in rogue_nir_passes()
150 NIR_PASS_V(nir, rogue_nir_constreg); in rogue_nir_passes()
152 NIR_PASS_V(nir, nir_opt_dce); in rogue_nir_passes()
155 NIR_PASS_V(nir, nir_opt_move, nir_move_load_ubo | nir_move_load_input); in rogue_nir_passes()
158 NIR_PASS_V(nir, nir_lower_vec_to_movs, NULL, NULL); in rogue_nir_passes()
161 NIR_PASS_V(nir, nir_convert_from_ssa, false); in rogue_nir_passes()
169 NIR_PASS_V(nir, nir_schedule, &schedule_options); in rogue_nir_passes()
173 nir_assign_io_var_locations(nir, in rogue_nir_passes()
175 &nir->num_inputs, in rogue_nir_passes()
176 nir->info.stage); in rogue_nir_passes()
177 nir_assign_io_var_locations(nir, in rogue_nir_passes()
179 &nir->num_outputs, in rogue_nir_passes()
180 nir->info.stage); in rogue_nir_passes()
182 /* Gather info into nir shader struct. */ in rogue_nir_passes()
183 nir_shader_gather_info(nir, nir_shader_get_entrypoint(nir)); in rogue_nir_passes()
186 nir_sweep(nir); in rogue_nir_passes()
188 nir_validate_shader(nir, "after passes"); in rogue_nir_passes()