summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHyunjun Ko <[email protected]>2019-11-19 07:20:10 +0000
committerMarge Bot <[email protected]>2020-03-24 23:21:21 +0000
commit1ee2ad584c95233b5cdbbed9fa5997533dc80276 (patch)
tree2662a385fef8911eab0dbe0521d685887fb25565
parent61f7a1dfc566508d505230562a99099ee9c3f70f (diff)
freedreno/ir3: enable nir_opt_loop_unroll on a6xx
If precision lowering happens at GLSL IR, loop_analysis at IR doesn't work as expected since it can't handle things like: "(expression bool < (expression float16_t f2fmp (var_ref ndx) ) (constant float16_t (1.000000)) )" So we'd rather do this optimization at the NIR stage. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3885>
-rw-r--r--src/freedreno/ir3/ir3_nir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c
index b6b37d05206..284d634884d 100644
--- a/src/freedreno/ir3/ir3_nir.c
+++ b/src/freedreno/ir3/ir3_nir.c
@@ -116,6 +116,7 @@ static const nir_shader_compiler_options options_a6xx = {
.vectorize_io = true,
.lower_to_scalar = true,
.has_imul24 = true,
+ .max_unroll_iterations = 32,
};
const nir_shader_compiler_options *
@@ -207,7 +208,6 @@ ir3_optimize_loop(nir_shader *s)
progress |= OPT(s, nir_opt_if, false);
progress |= OPT(s, nir_opt_remove_phis);
progress |= OPT(s, nir_opt_undef);
-
} while (progress);
}