Lines Matching refs:nir

93 sort_varyings(nir_shader *nir, nir_variable_mode mode)
97 nir_foreach_variable_with_modes_safe (var, nir, mode) {
101 exec_list_append(&nir->variables, &new_list);
105 fixup_varying_slots(nir_shader *nir, nir_variable_mode mode)
107 nir_foreach_variable_with_modes (var, nir, mode) {
121 nir_shader *nir[MESA_SHADER_COMPUTE + 1];
152 nir[i] = glsl_to_nir(&local_ctx.Const, prog, shader_types[i], &bifrost_nir_options);
155 nir_assign_var_locations(nir[i], nir_var_shader_in, &nir[i]->num_inputs,
157 sort_varyings(nir[i], nir_var_shader_out);
158 nir_assign_var_locations(nir[i], nir_var_shader_out, &nir[i]->num_outputs,
160 fixup_varying_slots(nir[i], nir_var_shader_out);
162 sort_varyings(nir[i], nir_var_shader_in);
163 nir_assign_var_locations(nir[i], nir_var_shader_in, &nir[i]->num_inputs,
165 fixup_varying_slots(nir[i], nir_var_shader_in);
166 nir_assign_var_locations(nir[i], nir_var_shader_out, &nir[i]->num_outputs,
170 nir_assign_var_locations(nir[i], nir_var_uniform, &nir[i]->num_uniforms,
173 NIR_PASS_V(nir[i], nir_lower_global_vars_to_local);
174 NIR_PASS_V(nir[i], nir_lower_io_to_temporaries, nir_shader_get_entrypoint(nir[i]), true, i == 0);
175 NIR_PASS_V(nir[i], nir_opt_copy_prop_vars);
176 NIR_PASS_V(nir[i], nir_opt_combine_stores, nir_var_all);
178 NIR_PASS_V(nir[i], nir_lower_system_values);
179 NIR_PASS_V(nir[i], gl_nir_lower_samplers, prog);
180 NIR_PASS_V(nir[i], nir_split_var_copies);
181 NIR_PASS_V(nir[i], nir_lower_var_copies);
183 NIR_PASS_V(nir[i], nir_lower_io, nir_var_uniform,
186 NIR_PASS_V(nir[i], nir_lower_uniforms_to_ubo, true, false);
189 NIR_PASS_V(nir[i], gl_nir_lower_images, true);
191 NIR_PASS_V(nir[i], gl_nir_lower_buffers, prog);
192 NIR_PASS_V(nir[i], nir_opt_constant_folding);
201 bifrost_compile_shader_nir(nir[i], &inputs, &binary, &info);