ir3: Implement round-robin workaround
On later a6xx and a7xx, round-robin does not work properly when there
are more than 8 active waves from the same dispatch in the same uSP. We
have to clamp the register usage to a minimum to guarantee there aren't
more waves. There is a problem for very large workgroups, which will
have to be solved the same way as the problem with deep control flow,
through implementing ReuseGPRMode.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41562>
2 files changed