Stop creating image pipeline when unnecessary
This commit is contained in:
parent
fc55e3a3df
commit
4e7159c22c
11 changed files with 114 additions and 86 deletions
35
wgpu/src/image/atlas/allocation.rs
Normal file
35
wgpu/src/image/atlas/allocation.rs
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
use crate::image::atlas::{self, allocator};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Allocation {
|
||||
Partial {
|
||||
layer: usize,
|
||||
region: allocator::Region,
|
||||
},
|
||||
Full {
|
||||
layer: usize,
|
||||
},
|
||||
}
|
||||
|
||||
impl Allocation {
|
||||
pub fn position(&self) -> (u32, u32) {
|
||||
match self {
|
||||
Allocation::Partial { region, .. } => region.position(),
|
||||
Allocation::Full { .. } => (0, 0),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn size(&self) -> (u32, u32) {
|
||||
match self {
|
||||
Allocation::Partial { region, .. } => region.size(),
|
||||
Allocation::Full { .. } => (atlas::SIZE, atlas::SIZE),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn layer(&self) -> usize {
|
||||
match self {
|
||||
Allocation::Partial { layer, .. } => *layer,
|
||||
Allocation::Full { layer } => *layer,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue