nak/calc_instr_deps: Set a delay of 13 for flow ops pre-Volta
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30381>
This commit is contained in:

committed by
Marge Bot

parent
c29980b218
commit
8050b57c28
@@ -476,6 +476,10 @@ fn exec_latency(sm: u8, op: &Op) -> u32 {
|
|||||||
// CCTL.C needs 8, CCTL.I needs 11
|
// CCTL.C needs 8, CCTL.I needs 11
|
||||||
11
|
11
|
||||||
}
|
}
|
||||||
|
_ if sm < 70 && (op.is_crs_push() || op.is_branch()) => {
|
||||||
|
// pre-Volta needs a delay for control-flow ops
|
||||||
|
13
|
||||||
|
}
|
||||||
// Op::DepBar(_) => 4,
|
// Op::DepBar(_) => 4,
|
||||||
_ => 1, // TODO: co-issue
|
_ => 1, // TODO: co-issue
|
||||||
}
|
}
|
||||||
|
@@ -5961,6 +5961,26 @@ pub enum Op {
|
|||||||
}
|
}
|
||||||
impl_display_for_op!(Op);
|
impl_display_for_op!(Op);
|
||||||
|
|
||||||
|
impl Op {
|
||||||
|
pub fn is_crs_push(&self) -> bool {
|
||||||
|
match self {
|
||||||
|
Op::SSy(_) | Op::PBk(_) | Op::PCnt(_) => true,
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn is_branch(&self) -> bool {
|
||||||
|
match self {
|
||||||
|
Op::Bra(_)
|
||||||
|
| Op::Sync(_)
|
||||||
|
| Op::Brk(_)
|
||||||
|
| Op::Cont(_)
|
||||||
|
| Op::Exit(_) => true,
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
||||||
pub enum PredRef {
|
pub enum PredRef {
|
||||||
None,
|
None,
|
||||||
@@ -6254,14 +6274,7 @@ impl Instr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_branch(&self) -> bool {
|
pub fn is_branch(&self) -> bool {
|
||||||
match &self.op {
|
self.op.is_branch()
|
||||||
Op::Bra(_)
|
|
||||||
| Op::Sync(_)
|
|
||||||
| Op::Brk(_)
|
|
||||||
| Op::Cont(_)
|
|
||||||
| Op::Exit(_) => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn uses_global_mem(&self) -> bool {
|
pub fn uses_global_mem(&self) -> bool {
|
||||||
|
Reference in New Issue
Block a user