From: Alyssa Rosenzweig Date: Fri, 31 Jul 2020 00:22:56 +0000 (-0400) Subject: pan/bit: Update f32->f16 convert test X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aa989aed6d68d50ff7900cfca4078ed4771c4b40;p=mesa.git pan/bit: Update f32->f16 convert test Needs a second argument to be consistent with the real IR and the hardware instruction. Signed-off-by: Alyssa Rosenzweig Fixes: 8a4efe2d730 ("pan/bi: Pack second argument of F32_TO_F16") Part-of: --- diff --git a/src/panfrost/bifrost/test/bi_interpret.c b/src/panfrost/bifrost/test/bi_interpret.c index 43777ca72f8..a8fadb3627e 100644 --- a/src/panfrost/bifrost/test/bi_interpret.c +++ b/src/panfrost/bifrost/test/bi_interpret.c @@ -489,13 +489,7 @@ bit_step(struct bit_state *s, bi_instruction *ins, bool FMA) dest.i32 = bit_as_int32(ins->src_types[0], srcs[0], comp, ins->roundmode); else if (ins->dest_type == nir_type_float16) { dest.u16[0] = bit_as_float16(ins->src_types[0], srcs[0], ins->swizzle[0][0]); - - if (ins->src_types[0] == nir_type_float32) { - /* TODO: Second argument */ - dest.u16[1] = 0; - } else { - dest.u16[1] = bit_as_float16(ins->src_types[0], srcs[0], ins->swizzle[0][1]); - } + dest.u16[1] = bit_as_float16(ins->src_types[0], srcs[0], ins->swizzle[0][1]); } else if (ins->dest_type == nir_type_uint16) { dest.u16[0] = bit_as_uint16(ins->src_types[0], srcs[0], ins->swizzle[0][0], ins->roundmode); dest.u16[1] = bit_as_uint16(ins->src_types[0], srcs[0], ins->swizzle[0][1], ins->roundmode); diff --git a/src/panfrost/bifrost/test/bi_test_pack.c b/src/panfrost/bifrost/test/bi_test_pack.c index 81bf0b02263..9a9f991ad72 100644 --- a/src/panfrost/bifrost/test/bi_test_pack.c +++ b/src/panfrost/bifrost/test/bi_test_pack.c @@ -488,6 +488,13 @@ bit_convert_helper(struct panfrost_device *dev, unsigned from_size, ins.swizzle[0][0] = cx; ins.swizzle[0][1] = cy; + if (to_size == 16 && from_size == 32) { + ins.src_types[1] = ins.src_types[0]; + ins.src[1] = ins.src[0]; + } else { + ins.src[1] = ins.src_types[1] = 0; + } + bit_test_single(dev, &ins, input, FMA, debug); } }