From 893ee883fe7f40383ac546452b895d70a0e76971 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Tue, 2 Apr 2024 17:07:19 +0200 Subject: [PATCH] aco: use v1 definition for v_interp_p1lv_f16 The result of the first interpolation step is always fp32. Fixes: 1647e098e94 ("aco: implement 16-bit interp") Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 61515c3a789..82837cd2aba 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -5504,7 +5504,7 @@ emit_interp_instr(isel_context* ctx, unsigned idx, unsigned component, Temp src, Builder::Result interp_p1 = bld.vintrp(aco_opcode::v_interp_mov_f32, bld.def(v1), Operand::c32(2u) /* P0 */, bld.m0(prim_mask), idx, component); - interp_p1 = bld.vintrp(aco_opcode::v_interp_p1lv_f16, bld.def(v2b), coord1, + interp_p1 = bld.vintrp(aco_opcode::v_interp_p1lv_f16, bld.def(v1), coord1, bld.m0(prim_mask), interp_p1, idx, component); bld.vintrp(aco_opcode::v_interp_p2_legacy_f16, Definition(dst), coord2, bld.m0(prim_mask), interp_p1, idx, component);