mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
nak: make as_imm_not_{i,f}20 helper methods public
These are useful for SM50 legalize, which is in a different module. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26114>
This commit is contained in:
parent
cb3263560f
commit
286b832f74
2 changed files with 29 additions and 29 deletions
|
|
@ -16,35 +16,6 @@ impl Src {
|
|||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
fn as_imm_not_i20(&self) -> Option<u32> {
|
||||
match self.src_ref {
|
||||
SrcRef::Imm32(i) => {
|
||||
assert!(self.src_mod.is_none());
|
||||
let top = i & 0xfff80000;
|
||||
if top == 0 || top == 0xfff80000 {
|
||||
None
|
||||
} else {
|
||||
Some(i)
|
||||
}
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn as_imm_not_f20(&self) -> Option<u32> {
|
||||
match self.src_ref {
|
||||
SrcRef::Imm32(i) => {
|
||||
assert!(self.src_mod.is_none());
|
||||
if (i & 0xfff) == 0 {
|
||||
None
|
||||
} else {
|
||||
Some(i)
|
||||
}
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn align_down(value: usize, align: usize) -> usize {
|
||||
|
|
|
|||
|
|
@ -1123,6 +1123,35 @@ impl Src {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn as_imm_not_i20(&self) -> Option<u32> {
|
||||
match self.src_ref {
|
||||
SrcRef::Imm32(i) => {
|
||||
assert!(self.src_mod.is_none());
|
||||
let top = i & 0xfff80000;
|
||||
if top == 0 || top == 0xfff80000 {
|
||||
None
|
||||
} else {
|
||||
Some(i)
|
||||
}
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn as_imm_not_f20(&self) -> Option<u32> {
|
||||
match self.src_ref {
|
||||
SrcRef::Imm32(i) => {
|
||||
assert!(self.src_mod.is_none());
|
||||
if (i & 0xfff) == 0 {
|
||||
None
|
||||
} else {
|
||||
Some(i)
|
||||
}
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn iter_ssa(&self) -> slice::Iter<'_, SSAValue> {
|
||||
self.src_ref.iter_ssa()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue