r600: Force NOPs when loading AR on R600 class hardware
authorGert Wollny <gert.wollny@collabora.com>
Mon, 15 Aug 2022 16:52:09 +0000 (18:52 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 19 Aug 2022 08:37:42 +0000 (08:37 +0000)
commit404d95ca49af48e06d786e765091dc8d3a531b3c
tree2ddea20735660f2775347a00a998bd4b02c97d40
parent7749599d737d205a88bbb6fa755ba095d9b581fa
r600: Force NOPs when loading AR on R600 class hardware

Loading indirectly from a register that was just written to
doesn't work on R600 class hardware, so add a NOP group with
the address register load being emitted in the t-slot. to make
sure that the register write was finished.

Fixes: 33765aa92aa5c150873fc210e9d6c1fe22cf8646
     r600/sfn: Enable NIR for pre RG hardware

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18130>
src/gallium/drivers/r600/r600_asm.c
src/gallium/drivers/r600/r600_asm.h
src/gallium/drivers/r600/sfn/sfn_assembler.cpp
src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp
src/gallium/drivers/r600/sfn/sfn_instr_alu.h
src/gallium/drivers/r600/sfn/sfn_instr_alugroup.cpp
src/gallium/drivers/r600/sfn/sfn_instr_alugroup.h
src/gallium/drivers/r600/sfn/sfn_scheduler.cpp