From 404818dd288de1b374c3b5f3589450c382bad3c4 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 13 Jan 2020 14:53:56 +0000 Subject: [PATCH] aco: run p_wqm instructions in WQM MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Fixes: 93c8ebfa780 ('aco: Initial commit of independent AMD compiler') Reviewed-by: Daniel Schürmann Tested-by: Marge Bot Part-of: --- src/amd/compiler/aco_insert_exec_mask.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index 9981828bad3..bf7ccf8b570 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -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; } -- 2.30.2