aco: run p_wqm instructions in WQM

If the p_wqm ends up creating copies, these need to be in WQM. Helps (but
doesn't completely fix) artifacts in Strange Brigade. The actual issue
still exists and is harder to fix.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3273>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3273>
This commit is contained in:
Rhys Perry 2020-01-13 14:53:56 +00:00 committed by Marge Bot
parent 2d7386a2d0
commit 404818dd28
1 changed files with 3 additions and 2 deletions

View File

@ -246,8 +246,9 @@ void get_block_needs(wqm_ctx &ctx, exec_ctx &exec_ctx, Block* block)
}
}
if (instr->opcode == aco_opcode::p_logical_end && info.logical_end_wqm) {
assert(needs == Unspecified);
if ((instr->opcode == aco_opcode::p_logical_end && info.logical_end_wqm) ||
instr->opcode == aco_opcode::p_wqm) {
assert(needs != Exact);
needs = WQM;
}