diff --git a/.pick_status.json b/.pick_status.json index f61873ef592..9c58cab7142 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2234,7 +2234,7 @@ "description": "ir3: Fix shared IMAD24 lowering.", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "b4874aa5cf56a7041eb609b6d9829719f8a49bcb", "notes": null diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index 38d9db43782..8c3cf4d2610 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -870,7 +870,7 @@ emit_alu(struct ir3_context *ctx, nir_alu_instr *alu) case nir_op_imad24_ir3: if (use_shared) { dst = ir3_ADD_U_rpt(b, dst_sz, - ir3_MUL_U24_rpt(b, dst_sz, src[0], 0, src[1], 0), + ir3_MUL_S24_rpt(b, dst_sz, src[0], 0, src[1], 0), 0, src[2], 0); } else { dst = ir3_MAD_S24_rpt(b, dst_sz, src[0], 0, src[1], 0, src[2], 0);