Mesa (master): aco: fix WaR check for >64-bit FLAT/GLOBAL instructions
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jan 27 15:23:56 UTC 2020
Module: Mesa
Branch: master
Commit: e6c90e4af94c898875d873206e00fc1befb44612
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6c90e4af94c898875d873206e00fc1befb44612
Author: Rhys Perry <pendingchaos02 at gmail.com>
Date: Thu Jan 23 19:30:29 2020 +0000
aco: fix WaR check for >64-bit FLAT/GLOBAL instructions
Signed-off-by: Rhys Perry <pendingchaos02 at gmail.com>
Fixes: 5986e0019 ('aco: improve WAR hazard workaround with >64bit stores')
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3541>
---
src/amd/compiler/aco_insert_NOPs.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/amd/compiler/aco_insert_NOPs.cpp b/src/amd/compiler/aco_insert_NOPs.cpp
index 8c032bb699c..605ed8a2081 100644
--- a/src/amd/compiler/aco_insert_NOPs.cpp
+++ b/src/amd/compiler/aco_insert_NOPs.cpp
@@ -333,8 +333,8 @@ int handle_instruction_gfx8_9(NOP_ctx_gfx8_9& ctx, aco_ptr<Instruction>& instr,
pred->operands.size() == 3 &&
pred->operands[2].size() > 2;
if (consider_buf || consider_mimg || consider_flat) {
- PhysReg wrdata = pred->operands[3].physReg();
- unsigned size = pred->operands[3].size();
+ PhysReg wrdata = pred->operands[consider_flat ? 2 : 3].physReg();
+ unsigned size = pred->operands[consider_flat ? 2 : 3].size();
assert(wrdata >= 256);
for (const Definition& def : instr->definitions) {
if (regs_intersect(def.physReg(), def.size(), wrdata, size))
More information about the mesa-commit
mailing list