aco: set late kill for v_interp_p1_f32 for some APUs
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 21 Feb 2020 18:53:19 +0000 (18:53 +0000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 16 Mar 2020 16:09:02 +0000 (16:09 +0000)
commitee9e0d1ecae307fa48200d2604d3114070253299
tree2a9184cd2683a289f1f59018e963adadfa5c8055
parent1872759f55384175f8fb4277abe4bd45b85d2d9e
aco: set late kill for v_interp_p1_f32 for some APUs

Apparently needed for Stoney Ridge, Kabini and Mullins APUs.

gfx702 also has 16-bank LDS and https://llvm.org/docs/AMDGPUUsage.html
lists some dGPUs under there. Those GPUs seem to be Hawaii actually
(gfx701) and we don't seem to have gotten any interpolation related bugs
reported with them so far.

The late kill flag was tested by running pipeline-db with
ACO_DEBUG=validatera while setting late kill for SMEM buffer loads,
emit_vop2_instruction() and texture instructions. I also tested with
just setting the flag for v_interp_p1_f32.

As far as I know, the only other thing we have to consider for 16-bank LDS
is something to do with 16-bit interpolation. We don't do that yet.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3914>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3914>
src/amd/compiler/aco_instruction_selection.cpp
src/amd/compiler/aco_instruction_selection_setup.cpp
src/amd/compiler/aco_ir.h