aco: Optimize workgroup exclusive scan to better avoid bank conflicts.
authorTimur Kristóf <timur.kristof@gmail.com>
Sat, 10 Apr 2021 12:52:55 +0000 (14:52 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 14 Apr 2021 14:05:24 +0000 (14:05 +0000)
commitc1346e5c2202902a2359d928634e41dff4d2eb64
tree1350ab7e993c7ee56f8f70fffbbe413be4a98d30
parentc8c6e0ff6fa6738c60d8797500515a89249d54d9
aco: Optimize workgroup exclusive scan to better avoid bank conflicts.

Previously, every wave had multiple active lanes read the LDS, and
the data was processed by VALU DPP instructions.

Now, only the first lane reads the LDS in order to avoid bank
conflicts, and the results are processed by SALU.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10155>
src/amd/compiler/aco_instruction_selection.cpp