aco/gfx10: Emit barrier at the start of NGG VS and TES.
authorTimur Kristóf <timur.kristof@gmail.com>
Sat, 19 Jun 2021 12:36:15 +0000 (14:36 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 22 Jun 2021 14:32:27 +0000 (14:32 +0000)
commite6bf5cfe59bfc19124785d39ab25584bfbf07f5e
tree37d1810066b89b1f6db80d5adf8c86766c0b0abb
parentf9447abb365c0e33a1afeb2ed25a5f10cc4aa968
aco/gfx10: Emit barrier at the start of NGG VS and TES.

The Navi 1x NGG hardware can hang in certain conditions when
not every wave launched before s_sendmsg(GS_ALLOC_REQ).

As a workaround, to ensure this never happens, let's emit a
workgroup barrier at the beginning of NGG VS and TES.
Note that NGG GS already has a workgroup barrier so it doesn't
need this.

Cc: mesa-stable
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/10837>
src/amd/compiler/aco_instruction_selection.cpp