And run the nir_divergence_analysis pass in si_get_nir_shader to make
sure it's up to date.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2253
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16709>
if (progress || progress2)
si_nir_late_opts(nir);
+ NIR_PASS_V(nir, nir_divergence_analysis);
+
/* This helps LLVM form VMEM clauses and thus get more GPU cache hits.
* 200 is tuned for Viewperf. It should be done last.
*/
ctx->abi.load_grid_size_from_user_sgpr = true;
ctx->abi.clamp_div_by_zero = ctx->screen->options.clamp_div_by_zero ||
info->options & SI_PROFILE_CLAMP_DIV_BY_ZERO;
+ ctx->abi.use_waterfall_for_divergent_tex_samplers = true;
for (unsigned i = 0; i < info->num_outputs; i++) {
LLVMTypeRef type = ctx->ac.f32;