Lines Matching refs:nir
92 sort_varyings(nir_shader *nir, nir_variable_mode mode)
96 nir_foreach_variable_with_modes_safe (var, nir, mode) {
100 exec_list_append(&nir->variables, &new_list);
104 fixup_varying_slots(nir_shader *nir, nir_variable_mode mode)
106 nir_foreach_variable_with_modes (var, nir, mode) {
120 nir_shader *nir[MESA_SHADER_COMPUTE + 1];
151 nir[i] = glsl_to_nir(&local_ctx, prog, shader_types[i], &bifrost_nir_options);
154 nir_assign_var_locations(nir[i], nir_var_shader_in, &nir[i]->num_inputs,
156 sort_varyings(nir[i], nir_var_shader_out);
157 nir_assign_var_locations(nir[i], nir_var_shader_out, &nir[i]->num_outputs,
159 fixup_varying_slots(nir[i], nir_var_shader_out);
161 sort_varyings(nir[i], nir_var_shader_in);
162 nir_assign_var_locations(nir[i], nir_var_shader_in, &nir[i]->num_inputs,
164 fixup_varying_slots(nir[i], nir_var_shader_in);
165 nir_assign_var_locations(nir[i], nir_var_shader_out, &nir[i]->num_outputs,
169 nir_assign_var_locations(nir[i], nir_var_uniform, &nir[i]->num_uniforms,
172 NIR_PASS_V(nir[i], nir_lower_global_vars_to_local);
173 NIR_PASS_V(nir[i], nir_lower_io_to_temporaries, nir_shader_get_entrypoint(nir[i]), true, i == 0);
174 NIR_PASS_V(nir[i], nir_opt_copy_prop_vars);
175 NIR_PASS_V(nir[i], nir_opt_combine_stores, nir_var_all);
177 NIR_PASS_V(nir[i], nir_lower_system_values);
178 NIR_PASS_V(nir[i], gl_nir_lower_samplers, prog);
179 NIR_PASS_V(nir[i], nir_split_var_copies);
180 NIR_PASS_V(nir[i], nir_lower_var_copies);
182 NIR_PASS_V(nir[i], nir_lower_io, nir_var_uniform,
185 NIR_PASS_V(nir[i], nir_lower_uniforms_to_ubo, true, false);
188 NIR_PASS_V(nir[i], gl_nir_lower_images, true);
190 NIR_PASS_V(nir[i], gl_nir_lower_buffers, prog);
191 NIR_PASS_V(nir[i], nir_opt_constant_folding);
199 bifrost_compile_shader_nir(nir[i], &inputs, &binary, &info);