zink: enable loop unrolling for loops that have soft fp64
authorSoroushIMG <soroush.kashani@imgtec.com>
Tue, 27 Sep 2022 10:18:11 +0000 (11:18 +0100)
committerMarge Bot <emma+marge@anholt.net>
Fri, 30 Sep 2022 17:07:37 +0000 (17:07 +0000)
commit6ac3f9d64e49e28263a6ac631aae2d252711e722
treed9d351856fa23428e72685586fc831790377910d
parent1e8e785a0754e3edcc3c7bcef6dc50ad7b45c053
zink: enable loop unrolling for loops that have soft fp64

The info that a loop contains fp64 ops is lost after full
software lowering.
Therefore, specifically unroll these loops in zink instead of
in vulkan, where the blown up body is no longer unrolled.
This helps a lot in KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt
src/gallium/drivers/zink/zink_compiler.c