From ce4064fe2fecd919c4adbe32320f85c2381d82e8 Mon Sep 17 00:00:00 2001 From: Andreas Baierl Date: Thu, 23 Jul 2020 07:43:09 +0200 Subject: [PATCH] nir/ lower_int_to_float: Handle umax and umin 8e1b75b3 introduced umax/umin in order to lower iand/ior for (n)eq zero. That breaks the lower_int_to_float pass, because umax and umin weren't handled there. Tested with lima. The other users of nir_lower_int_to_float (etnaviv, freedreno) should also have that issue. Reviewed-by: Vasily Khoruzhick Reviewed-by: Jason Ekstrand Signed-off-by: Andreas Baierl Part-of: --- src/compiler/nir/nir_lower_int_to_float.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/nir/nir_lower_int_to_float.c b/src/compiler/nir/nir_lower_int_to_float.c index d1e77daf1fe..e526108d904 100644 --- a/src/compiler/nir/nir_lower_int_to_float.c +++ b/src/compiler/nir/nir_lower_int_to_float.c @@ -86,6 +86,8 @@ lower_alu_instr(nir_builder *b, nir_alu_instr *alu) case nir_op_ineg: alu->op = nir_op_fneg; break; case nir_op_imax: alu->op = nir_op_fmax; break; case nir_op_imin: alu->op = nir_op_fmin; break; + case nir_op_umax: alu->op = nir_op_fmax; break; + case nir_op_umin: alu->op = nir_op_fmin; break; case nir_op_ball_iequal2: alu->op = nir_op_ball_fequal2; break; case nir_op_ball_iequal3: alu->op = nir_op_ball_fequal3; break; -- 2.30.2