radv: adjust loop unrolling heuristics for int64
authorRhys Perry <pendingchaos02@gmail.com>
Tue, 15 Oct 2019 19:43:39 +0000 (20:43 +0100)
committerRhys Perry <pendingchaos02@gmail.com>
Thu, 7 Nov 2019 23:29:12 +0000 (23:29 +0000)
commit76544f632d98c8d7462c863b783fbe9e9a2d885c
tree2b8ce7f7ff33384f03af3d1fd8ec0dd2a17160ad
parent9817bff4da0af020c9db0b718fb71f65224f100f
radv: adjust loop unrolling heuristics for int64

In particular, increase the cost of 64-bit integer division.

Fixes huge shaders with dEQP-VK.spirv_assembly.type.scalar.i64.mod_geom
, with ACO used for GS this creates shaders requiring a branch with
>32767 dword offset.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/compiler/aco_instruction_selection_setup.cpp
src/amd/vulkan/radv_shader.c