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 {
|
impl Op {
|
||||||
pub fn is_branch(&self) -> bool {
|
pub fn is_branch(&self) -> bool {
|
||||||
match self {
|
matches!(
|
||||||
Op::Bra(_)
|
self,
|
||||||
| Op::Sync(_)
|
Op::Bra(_) | Op::Sync(_) | Op::Brk(_) | Op::Cont(_) | Op::Exit(_)
|
||||||
| Op::Brk(_)
|
)
|
||||||
| Op::Cont(_)
|
|
||||||
| Op::Exit(_) => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_fp64(&self) -> bool {
|
pub fn is_fp64(&self) -> bool {
|
||||||
|
|
@ -8248,21 +8244,21 @@ impl Op {
|
||||||
/// Some decoupled instructions don't need
|
/// Some decoupled instructions don't need
|
||||||
/// scoreboards, due to our usage.
|
/// scoreboards, due to our usage.
|
||||||
pub fn no_scoreboard(&self) -> bool {
|
pub fn no_scoreboard(&self) -> bool {
|
||||||
match self {
|
matches!(
|
||||||
|
self,
|
||||||
Op::BClear(_)
|
Op::BClear(_)
|
||||||
| Op::Break(_)
|
| Op::Break(_)
|
||||||
| Op::BSSy(_)
|
| Op::BSSy(_)
|
||||||
| Op::BSync(_)
|
| Op::BSync(_)
|
||||||
| Op::SSy(_)
|
| Op::SSy(_)
|
||||||
| Op::Sync(_)
|
| Op::Sync(_)
|
||||||
| Op::Brk(_)
|
| Op::Brk(_)
|
||||||
| Op::PBk(_)
|
| Op::PBk(_)
|
||||||
| Op::Cont(_)
|
| Op::Cont(_)
|
||||||
| Op::PCnt(_)
|
| Op::PCnt(_)
|
||||||
| Op::Bra(_)
|
| Op::Bra(_)
|
||||||
| Op::Exit(_) => true,
|
| Op::Exit(_)
|
||||||
_ => false,
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn is_virtual(&self) -> bool {
|
pub fn is_virtual(&self) -> bool {
|
||||||
|
|
|
||||||
|
|
@ -385,22 +385,22 @@ pub struct SM120Latency {}
|
||||||
impl SM120Latency {
|
impl SM120Latency {
|
||||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||||
if op.is_uniform() {
|
if op.is_uniform() {
|
||||||
match op_ureg_latency(op, false, 0) {
|
matches!(
|
||||||
|
op_ureg_latency(op, false, 0),
|
||||||
UregLatencySM100::Uldc
|
UregLatencySM100::Uldc
|
||||||
| UregLatencySM100::ToUr
|
| UregLatencySM100::ToUr
|
||||||
| UregLatencySM100::Tex => true,
|
| UregLatencySM100::Tex
|
||||||
_ => false,
|
)
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
match op_reg_latency(op, false, 0) {
|
matches!(
|
||||||
|
op_reg_latency(op, false, 0),
|
||||||
RegLatencySM100::Dmma
|
RegLatencySM100::Dmma
|
||||||
| RegLatencySM100::Hmma
|
| RegLatencySM100::Hmma
|
||||||
| RegLatencySM100::RedirectedFp64
|
| RegLatencySM100::RedirectedFp64
|
||||||
| RegLatencySM100::Branch
|
| RegLatencySM100::Branch
|
||||||
| RegLatencySM100::Decoupled
|
| RegLatencySM100::Decoupled
|
||||||
| RegLatencySM100::DecoupledAgu => true,
|
| RegLatencySM100::DecoupledAgu
|
||||||
_ => false,
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1187,10 +1187,10 @@ pub struct SM75Latency {}
|
||||||
impl SM75Latency {
|
impl SM75Latency {
|
||||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||||
if op.is_uniform() {
|
if op.is_uniform() {
|
||||||
match URegLatencySM75::op_category(op, false, 0) {
|
matches!(
|
||||||
URegLatencySM75::R2UR => true,
|
URegLatencySM75::op_category(op, false, 0),
|
||||||
_ => false,
|
URegLatencySM75::R2UR
|
||||||
}
|
)
|
||||||
} else {
|
} else {
|
||||||
match RegLatencySM75::op_category(op, false, 0) {
|
match RegLatencySM75::op_category(op, false, 0) {
|
||||||
RegLatencySM75::RedirectedFP64 |
|
RegLatencySM75::RedirectedFP64 |
|
||||||
|
|
|
||||||
|
|
@ -1447,23 +1447,23 @@ pub struct SM80Latency {}
|
||||||
impl SM80Latency {
|
impl SM80Latency {
|
||||||
pub fn needs_scoreboards(op: &Op) -> bool {
|
pub fn needs_scoreboards(op: &Op) -> bool {
|
||||||
if op.is_uniform() {
|
if op.is_uniform() {
|
||||||
match URegLatencySM80::op_category(op, false, 0) {
|
matches!(
|
||||||
URegLatencySM80::ToUr => true,
|
URegLatencySM80::op_category(op, false, 0),
|
||||||
_ => false,
|
URegLatencySM80::ToUr
|
||||||
}
|
)
|
||||||
} else {
|
} else {
|
||||||
match RegLatencySM80::op_category(op, false, 0) {
|
matches!(
|
||||||
|
RegLatencySM80::op_category(op, false, 0),
|
||||||
RegLatencySM80::RedirectedFP64
|
RegLatencySM80::RedirectedFP64
|
||||||
| RegLatencySM80::Clmad
|
| RegLatencySM80::Clmad
|
||||||
| RegLatencySM80::IMMA_88
|
| RegLatencySM80::IMMA_88
|
||||||
| RegLatencySM80::MMA_1x_collect
|
| RegLatencySM80::MMA_1x_collect
|
||||||
| RegLatencySM80::MMA_2x_collect
|
| RegLatencySM80::MMA_2x_collect
|
||||||
| RegLatencySM80::DMMA
|
| RegLatencySM80::DMMA
|
||||||
| RegLatencySM80::Cbu
|
| RegLatencySM80::Cbu
|
||||||
| RegLatencySM80::Decoupled
|
| RegLatencySM80::Decoupled
|
||||||
| RegLatencySM80::DecoupledAgu => true,
|
| RegLatencySM80::DecoupledAgu
|
||||||
_ => false,
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue