aco: use v1 definition for v_interp_p1lv_f16

The result of the first interpolation step is always fp32.

Fixes: 1647e098e9 ("aco: implement 16-bit interp")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28435>
(cherry picked from commit 893ee883fe)
This commit is contained in:
Georg Lehmann 2024-04-02 17:07:19 +02:00 committed by Eric Engestrom
parent bc76037811
commit 2a82433d7b
2 changed files with 2 additions and 2 deletions

View file

@ -4644,7 +4644,7 @@
"description": "aco: use v1 definition for v_interp_p1lv_f16",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "1647e098e94d6aab0b4c454ccdd5300afd1d0079",
"notes": null

View file

@ -5490,7 +5490,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);