aco/ngg: Use more efficient LDS layout to help reduce bank conflicts.
authorTimur Kristóf <timur.kristof@gmail.com>
Fri, 2 Oct 2020 12:31:40 +0000 (14:31 +0200)
committerTimur Kristóf <timur.kristof@gmail.com>
Fri, 9 Oct 2020 13:26:15 +0000 (15:26 +0200)
commite8a0409d01e94ea03ae1b994e14e2c90bb236238
treef9b43f49c0279bc2fd94f063cdd14f08c1fd382c
parent9bf92d4357179c197256dae1e2b02ed4ad1f0fae
aco/ngg: Use more efficient LDS layout to help reduce bank conflicts.

The LLVM backend has a trick which helps reduce LDS bank conflicts
by swizzling the LDS address where each vertex is emitted.
This commit implements the same thing for ACO.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6964>
src/amd/compiler/aco_instruction_selection.cpp