radv: move nir_opt_conditional_discard out of optimization loop
This late optimization pass is only affected by nir_opt_if() and handles all cases in a single pass. It's enough to call it once after the optimization loop. No changes on vkpipeline-db. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
@@ -194,12 +194,12 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively,
|
||||
}
|
||||
|
||||
NIR_PASS(progress, shader, nir_opt_undef);
|
||||
NIR_PASS(progress, shader, nir_opt_conditional_discard);
|
||||
if (shader->options->max_unroll_iterations) {
|
||||
NIR_PASS(progress, shader, nir_opt_loop_unroll, 0);
|
||||
}
|
||||
} while (progress && !optimize_conservatively);
|
||||
|
||||
NIR_PASS(progress, shader, nir_opt_conditional_discard);
|
||||
NIR_PASS(progress, shader, nir_opt_shrink_load);
|
||||
NIR_PASS(progress, shader, nir_opt_move_load_ubo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user