r600: Force last instruction of group when starting a new CF
authorGert Wollny <gert.wollny@collabora.com>
Fri, 31 Dec 2021 20:34:02 +0000 (21:34 +0100)
committerMarge Bot <emma+marge@anholt.net>
Tue, 12 Apr 2022 12:10:19 +0000 (12:10 +0000)
commitd920200ad65c7fdec660af1388cdcb99b172a017
tree3b4d9a64560577f0bc4e74555ea2f395179e847b
parent04fd9a64881c50ad6c12f8bfb93f1a6c2c8e8e8d
r600: Force last instruction of group when starting a new CF

When emitting the AR forces splitting an ALU group, and at the same time
a new CF instruction is started, then the last instrcution in the finished
CF block might not have the "last" bit set, which results in an invalid
shader that might hang, or crash SB.
So when a new CF is started, force the last bit in the last ALU instruction.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Acked-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15714>
src/gallium/drivers/r600/r600_asm.c