mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
aco: fix LdsBranchVmemWARHazard with 2+ branch chains
For example, "DS -> branch -> VMEM -> branch -> DS". fossil-db (navi10): Totals from 639 (0.40% of 161220) affected shaders: Instrs: 629090 -> 628254 (-0.13%); split: -0.19%, +0.06% CodeSize: 3410164 -> 3406748 (-0.10%); split: -0.14%, +0.04% Latency: 7834755 -> 7821011 (-0.18%); split: -0.70%, +0.52% InvThroughput: 1369698 -> 1374495 (+0.35%); split: -0.12%, +0.47% A lot of the fossil-db changes are noise. threekingdoms.8db138826c386a62.1.foz/0b222ed175eebad0 is an example of a shader that actually has this issue. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Fixes:c037ba1bb7("aco/gfx10: Mitigate LdsBranchVmemWARHazard.") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17697> (cherry picked from commitb17e59a03b)
This commit is contained in:
parent
2c7c5cc016
commit
c9d2f45bf2
2 changed files with 4 additions and 1 deletions
|
|
@ -220,7 +220,7 @@
|
|||
"description": "aco: fix LdsBranchVmemWARHazard with 2+ branch chains",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "c037ba1bb7aba99bd15e063bbdbc6d4c68cf2384"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -787,6 +787,9 @@ handle_instruction_gfx10(State& state, NOP_ctx_gfx10& ctx, aco_ptr<Instruction>&
|
|||
wait->definitions[0] = Definition(sgpr_null, s1);
|
||||
wait->imm = 0;
|
||||
new_instructions.emplace_back(std::move(wait));
|
||||
|
||||
ctx.has_VMEM = instr->isVMEM() || instr->isGlobal() || instr->isScratch();
|
||||
ctx.has_DS = instr->isDS();
|
||||
}
|
||||
|
||||
/* NSAToVMEMBug
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue