summaryrefslogtreecommitdiff
path: root/src/amd/compiler
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2020-12-17 16:52:24 +0000
committerMarge Bot <eric+marge@anholt.net>2020-12-17 19:22:55 +0000
commit661922f6ac9576fc2077c5d50b53ef7edf9e8a18 (patch)
tree5179982dcda57d68555df8733d75c5ba68ad9af5 /src/amd/compiler
parent6d7ea0f0202b47f1c2ab545bfa2c4a33e65997a4 (diff)
aco: add block to worklist in mark_block_wqm()
Since we're requiring the branch condition to be in WQM, we have to ensure that the block is in the worklist. Fixes Trials Fusion hang at 4K and High settings. fossil-db (Sienna): Totals from 216 (0.15% of 139391) affected shaders: SGPRs: 13392 -> 13360 (-0.24%) CodeSize: 1321184 -> 1318592 (-0.20%) Instrs: 255310 -> 254662 (-0.25%) Cycles: 2178360 -> 2174652 (-0.17%) Affected fossils in fossil-db are dirt4, nier and youngblood. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3863 Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8145>
Diffstat (limited to 'src/amd/compiler')
-rw-r--r--src/amd/compiler/aco_insert_exec_mask.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp
index 6bb5c831cf6..ff89fbfc02f 100644
--- a/src/amd/compiler/aco_insert_exec_mask.cpp
+++ b/src/amd/compiler/aco_insert_exec_mask.cpp
@@ -165,6 +165,8 @@ void mark_block_wqm(wqm_ctx &ctx, unsigned block_idx)
return;
ctx.branch_wqm[block_idx] = true;
+ ctx.worklist.insert(block_idx);
+
Block& block = ctx.program->blocks[block_idx];
/* TODO: this sets more branch conditions to WQM than it needs to