mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
nak: BMov is always variable-latency
The barrier half is HW scoreboarded by the GPR isn't. When moving from
a GPR to a barrier, we still need a token for WaR hazards.
Fixes: 7cd9680554 ("nak: Add back OpBMov with better semantics")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29591>
This commit is contained in:
parent
61be2c94dc
commit
0a089b1b13
1 changed files with 4 additions and 7 deletions
|
|
@ -5696,13 +5696,10 @@ impl Instr {
|
|||
Op::Bra(_) | Op::Exit(_) => true,
|
||||
Op::WarpSync(_) => false,
|
||||
|
||||
// BMOV: barriers only when using gprs (and only valid for the gpr),
|
||||
// no barriers for the others.
|
||||
Op::BMov(op) => match &op.dst {
|
||||
Dst::None => true,
|
||||
Dst::SSA(vec) => vec.file() == RegFile::Bar,
|
||||
Dst::Reg(reg) => reg.file() == RegFile::Bar,
|
||||
},
|
||||
// The barrier half is HW scoreboarded by the GPR isn't. When
|
||||
// moving from a GPR to a barrier, we still need a token for WaR
|
||||
// hazards.
|
||||
Op::BMov(_) => false,
|
||||
|
||||
// Geometry ops
|
||||
Op::Out(_) | Op::OutFinal(_) => false,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue