r600/sfn: Always enforce LDS operation order

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18983>
This commit is contained in:
Gert Wollny 2022-10-05 15:05:40 +02:00
parent 6b767f83c3
commit a34003d472
2 changed files with 4 additions and 3 deletions

View file

@ -278,6 +278,7 @@ AluInstr *LDSAtomicInstr::split(std::vector<AluInstr *>& out_block, AluInstr *la
if (last_lds_instr) {
op_instr->add_required_instr(last_lds_instr);
}
last_lds_instr = op_instr;
out_block.push_back(op_instr);
if (m_dest) {

View file

@ -2637,9 +2637,6 @@ ALU_GROUP_END
ALU_GROUP_BEGIN
ALU ADD_INT S12.x@chan : L[0x8] S10.x@free {WL}
ALU_GROUP_END
ALU_GROUP_BEGIN
ALU LDS WRITE_REL __.x : S12.x@chan I[0] I[1.0] {L}
ALU_GROUP_END
BLOCK_END
BLOCK_START
LOAD_BUF S5.xyzw : S4.x@group + 96b RID:0
@ -2648,6 +2645,9 @@ BLOCK_START
ALU_GROUP_BEGIN
ALU LDS WRITE_REL __.x : S10.x@free S5.x@group S5.y@group {L}
ALU_GROUP_END
ALU_GROUP_BEGIN
ALU LDS WRITE_REL __.x : S12.x@chan I[0] I[1.0] {L}
ALU_GROUP_END
BLOCK_END)";
const char *tcs_nir =