Lines Matching defs:nir
24 #include "nir.h"
161 * if/else ladder in nir. Each invocation must write the same value to patch
177 dxil_nir_split_tess_ctrl(nir_shader *nir, nir_function **patch_const_func)
179 assert(nir->info.stage == MESA_SHADER_TESS_CTRL);
180 assert(exec_list_length(&nir->functions) == 1);
181 nir_function_impl *entrypoint = nir_shader_get_entrypoint(nir);
183 *patch_const_func = nir_function_create(nir, "PatchConstantFunc");
184 nir_function_impl *patch_const_func_impl = nir_function_impl_clone(nir, entrypoint);
197 progress |= nir_opt_dead_cf(nir);
198 progress |= nir_opt_dce(nir);
320 dxil_nir_fixup_tess_level_for_domain(nir_shader *nir)
323 if (nir->info.tess._primitive_mode != TESS_PRIMITIVE_QUADS) {
324 nir_foreach_variable_with_modes_safe(var, nir, nir_var_shader_out | nir_var_shader_in) {
328 new_array_size = nir->info.tess._primitive_mode == TESS_PRIMITIVE_TRIANGLES ? 3 : 2;
331 new_array_size = nir->info.tess._primitive_mode == TESS_PRIMITIVE_TRIANGLES ? 1 : 0;
352 nir_shader_instructions_pass(nir, remove_tess_level_accesses,
375 dxil_nir_set_tcs_patches_in(nir_shader *nir, unsigned num_control_points)
378 nir_foreach_variable_with_modes(var, nir, nir_var_shader_in) {
386 nir_shader_instructions_pass(nir, tcs_update_deref_input_types, nir_metadata_all, NULL);