Mesa (master): aco: check instruction format before waiting for a previous SMEM store
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu May 28 10:52:05 UTC 2020
Module: Mesa
Branch: master
Commit: 95d5c1b8a1ebe4a2ce47206b9ff0af4fbfd5a31a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95d5c1b8a1ebe4a2ce47206b9ff0af4fbfd5a31a
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Wed Apr 29 17:47:50 2020 +0100
aco: check instruction format before waiting for a previous SMEM store
Totals from 7 (0.01% of 127638) affected shaders:
CodeSize: 40336 -> 40320 (-0.04%)
Instrs: 7807 -> 7803 (-0.05%)
Cycles: 118588 -> 118344 (-0.21%); split: -0.23%, +0.02%
SMEM: 331 -> 339 (+2.42%)
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Fixes: 1749953ea3 ('aco/gfx10: Wait for pending SMEM stores before loads')
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4880>
---
src/amd/compiler/aco_insert_waitcnt.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/compiler/aco_insert_waitcnt.cpp b/src/amd/compiler/aco_insert_waitcnt.cpp
index d2d1c76c6c9..196b45fbb75 100644
--- a/src/amd/compiler/aco_insert_waitcnt.cpp
+++ b/src/amd/compiler/aco_insert_waitcnt.cpp
@@ -460,7 +460,7 @@ wait_imm kill(Instruction* instr, wait_ctx& ctx)
imm.lgkm = 0;
}
- if (ctx.chip_class >= GFX10) {
+ if (ctx.chip_class >= GFX10 && instr->format == Format::SMEM) {
/* GFX10: A store followed by a load at the same address causes a problem because
* the load doesn't load the correct values unless we wait for the store first.
* This is NOT mitigated by an s_nop.
More information about the mesa-commit
mailing list