From a6916d1ce823439d7de752b2f2013e9b3e434d82 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 11 May 2020 02:56:47 -0400 Subject: [PATCH] nir: fix lower_wpos for 16-bit fddy Reviewed-by: Alyssa Rosenzweig Reviewed-by: Rob Clark Part-of: --- src/compiler/nir/nir_lower_wpos_ytransform.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_lower_wpos_ytransform.c b/src/compiler/nir/nir_lower_wpos_ytransform.c index d0a694f..2771f2a 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, -- 2.7.4