mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 05:10:11 +01:00
nak: use matches!() instead of open-coding it
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38807>
This commit is contained in:
parent
28ff39fbb4
commit
dbd528ea3d
4 changed files with 50 additions and 54 deletions
|
|
@ -8062,14 +8062,10 @@ const _: () = {
|
|||
|
||||
impl Op {
|
||||
pub fn is_branch(&self) -> bool {
|
||||
match self {
|
||||
Op::Bra(_)
|
||||
| Op::Sync(_)
|
||||
| Op::Brk(_)
|
||||
| Op::Cont(_)
|
||||
| Op::Exit(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
matches!(
|
||||
self,
|
||||
Op::Bra(_) | Op::Sync(_) | Op::Brk(_) | Op::Cont(_) | Op::Exit(_)
|
||||
)
|
||||
}
|
||||
|
||||
pub fn is_fp64(&self) -> bool {
|
||||
|
|
@ -8248,21 +8244,21 @@ impl Op {
|
|||
/// Some decoupled instructions don't need
|
||||
/// scoreboards, due to our usage.
|
||||
pub fn no_scoreboard(&self) -> bool {
|
||||
match self {
|
||||
matches!(
|
||||
self,
|
||||
Op::BClear(_)
|
||||
| Op::Break(_)
|
||||
| Op::BSSy(_)
|
||||
| Op::BSync(_)
|
||||
| Op::SSy(_)
|
||||
| Op::Sync(_)
|
||||
| Op::Brk(_)
|
||||
| Op::PBk(_)
|
||||
| Op::Cont(_)
|
||||
| Op::PCnt(_)
|
||||
| Op::Bra(_)
|
||||
| Op::Exit(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
| Op::Break(_)
|
||||
| Op::BSSy(_)
|
||||
| Op::BSync(_)
|
||||
| Op::SSy(_)
|
||||
| Op::Sync(_)
|
||||
| Op::Brk(_)
|
||||
| Op::PBk(_)
|
||||
| Op::Cont(_)
|
||||
| Op::PCnt(_)
|
||||
| Op::Bra(_)
|
||||
| Op::Exit(_)
|
||||
)
|
||||
}
|
||||
|
||||
pub fn is_virtual(&self) -> bool {
|
||||
|
|
|
|||
|
|
@ -385,22 +385,22 @@ pub struct SM120Latency {}
|
|||
impl SM120Latency {
|
||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||
if op.is_uniform() {
|
||||
match op_ureg_latency(op, false, 0) {
|
||||
matches!(
|
||||
op_ureg_latency(op, false, 0),
|
||||
UregLatencySM100::Uldc
|
||||
| UregLatencySM100::ToUr
|
||||
| UregLatencySM100::Tex => true,
|
||||
_ => false,
|
||||
}
|
||||
| UregLatencySM100::ToUr
|
||||
| UregLatencySM100::Tex
|
||||
)
|
||||
} else {
|
||||
match op_reg_latency(op, false, 0) {
|
||||
matches!(
|
||||
op_reg_latency(op, false, 0),
|
||||
RegLatencySM100::Dmma
|
||||
| RegLatencySM100::Hmma
|
||||
| RegLatencySM100::RedirectedFp64
|
||||
| RegLatencySM100::Branch
|
||||
| RegLatencySM100::Decoupled
|
||||
| RegLatencySM100::DecoupledAgu => true,
|
||||
_ => false,
|
||||
}
|
||||
| RegLatencySM100::Hmma
|
||||
| RegLatencySM100::RedirectedFp64
|
||||
| RegLatencySM100::Branch
|
||||
| RegLatencySM100::Decoupled
|
||||
| RegLatencySM100::DecoupledAgu
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1187,10 +1187,10 @@ pub struct SM75Latency {}
|
|||
impl SM75Latency {
|
||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||
if op.is_uniform() {
|
||||
match URegLatencySM75::op_category(op, false, 0) {
|
||||
URegLatencySM75::R2UR => true,
|
||||
_ => false,
|
||||
}
|
||||
matches!(
|
||||
URegLatencySM75::op_category(op, false, 0),
|
||||
URegLatencySM75::R2UR
|
||||
)
|
||||
} else {
|
||||
match RegLatencySM75::op_category(op, false, 0) {
|
||||
RegLatencySM75::RedirectedFP64 |
|
||||
|
|
|
|||
|
|
@ -1447,23 +1447,23 @@ pub struct SM80Latency {}
|
|||
impl SM80Latency {
|
||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||
if op.is_uniform() {
|
||||
match URegLatencySM80::op_category(op, false, 0) {
|
||||
URegLatencySM80::ToUr => true,
|
||||
_ => false,
|
||||
}
|
||||
matches!(
|
||||
URegLatencySM80::op_category(op, false, 0),
|
||||
URegLatencySM80::ToUr
|
||||
)
|
||||
} else {
|
||||
match RegLatencySM80::op_category(op, false, 0) {
|
||||
matches!(
|
||||
RegLatencySM80::op_category(op, false, 0),
|
||||
RegLatencySM80::RedirectedFP64
|
||||
| RegLatencySM80::Clmad
|
||||
| RegLatencySM80::IMMA_88
|
||||
| RegLatencySM80::MMA_1x_collect
|
||||
| RegLatencySM80::MMA_2x_collect
|
||||
| RegLatencySM80::DMMA
|
||||
| RegLatencySM80::Cbu
|
||||
| RegLatencySM80::Decoupled
|
||||
| RegLatencySM80::DecoupledAgu => true,
|
||||
_ => false,
|
||||
}
|
||||
| RegLatencySM80::Clmad
|
||||
| RegLatencySM80::IMMA_88
|
||||
| RegLatencySM80::MMA_1x_collect
|
||||
| RegLatencySM80::MMA_2x_collect
|
||||
| RegLatencySM80::DMMA
|
||||
| RegLatencySM80::Cbu
|
||||
| RegLatencySM80::Decoupled
|
||||
| RegLatencySM80::DecoupledAgu
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue