diff options
author | Hyunjun Ko <[email protected]> | 2019-11-19 07:20:10 +0000 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-24 23:21:21 +0000 |
commit | 1ee2ad584c95233b5cdbbed9fa5997533dc80276 (patch) | |
tree | 2662a385fef8911eab0dbe0521d685887fb25565 | |
parent | 61f7a1dfc566508d505230562a99099ee9c3f70f (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.c | 2 |
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); } |