Commit f42a4300 authored by Jonathan Marek's avatar Jonathan Marek Committed by Dylan Baker

freedreno/a2xx: ir2: fix lowering of instructions after float lowering

Some instructions generated by int/bool float lowering need to be lowered
by opt_algebraic.

Fixes: 43dbd7d6Signed-off-by: Jonathan Marek's avatarJonathan Marek <jonathan@marek.ca>
Reviewed-by: Rob Clark's avatarRob Clark <robdclark@chromium.org>
Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
(cherry picked from commit 3516a90a)
parent 0e6ccd18
......@@ -1074,15 +1074,14 @@ ir2_nir_compile(struct ir2_context *ctx, bool binning)
if (binning)
cleanup_binning(ctx);
/* postprocess */
OPT_V(ctx->nir, nir_opt_algebraic_late);
OPT_V(ctx->nir, nir_copy_prop);
OPT_V(ctx->nir, nir_opt_dce);
OPT_V(ctx->nir, nir_opt_move, nir_move_comparisons);
OPT_V(ctx->nir, nir_lower_int_to_float);
OPT_V(ctx->nir, nir_lower_bool_to_float);
while(OPT(ctx->nir, nir_opt_algebraic));
OPT_V(ctx->nir, nir_opt_algebraic_late);
OPT_V(ctx->nir, nir_lower_to_source_mods, nir_lower_all_source_mods);
/* TODO: static bitset ? */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment