From: Marek Olšák Date: Mon, 11 May 2020 06:56:47 +0000 (-0400) Subject: nir: fix lower_wpos for 16-bit fddy X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a6916d1ce823439d7de752b2f2013e9b3e434d82;p=mesa.git nir: fix lower_wpos for 16-bit fddy Reviewed-by: Alyssa Rosenzweig Reviewed-by: Rob Clark Part-of: --- diff --git a/src/compiler/nir/nir_lower_wpos_ytransform.c b/src/compiler/nir/nir_lower_wpos_ytransform.c index d0a694f889b..2771f2afede 100644 --- a/src/compiler/nir/nir_lower_wpos_ytransform.c +++ b/src/compiler/nir/nir_lower_wpos_ytransform.c @@ -267,8 +267,11 @@ lower_fddy(lower_wpos_ytransform_state *state, nir_alu_instr *fddy) b->cursor = nir_before_instr(&fddy->instr); p = nir_ssa_for_alu_src(b, fddy, 0); - trans = get_transform(state); - pt = nir_fmul(b, p, nir_channel(b, trans, 0)); + trans = nir_channel(b, get_transform(state), 0); + if (p->bit_size == 16) + trans = nir_f2f16(b, trans); + + pt = nir_fmul(b, p, trans); nir_instr_rewrite_src(&fddy->instr, &fddy->src[0].src,