struct Texture {Show 13 fields
height: i32,
blocks: Vec<Block>,
rows: Vec<Row>,
base_epoch: Epoch,
max_epoch: Epoch,
free_lists: FreeBlockLists,
occupied_list_heads: FastHashMap<DocumentId, BlockIndex>,
pending_blocks: Vec<GpuBlockData>,
updates: Vec<GpuCacheUpdate>,
allocated_block_count: usize,
reached_reclaim_threshold: Option<Instant>,
debug_commands: Vec<GpuCacheDebugCmd>,
debug_flags: DebugFlags,
}
Fields§
§height: i32
§blocks: Vec<Block>
§rows: Vec<Row>
§base_epoch: Epoch
§max_epoch: Epoch
§free_lists: FreeBlockLists
§occupied_list_heads: FastHashMap<DocumentId, BlockIndex>
§pending_blocks: Vec<GpuBlockData>
§updates: Vec<GpuCacheUpdate>
§allocated_block_count: usize
§reached_reclaim_threshold: Option<Instant>
§debug_commands: Vec<GpuCacheDebugCmd>
§debug_flags: DebugFlags
Implementations§
source§impl Texture
impl Texture
fn new(base_epoch: Epoch, debug_flags: DebugFlags) -> Self
fn push_data( &mut self, pending_block_index: Option<usize>, block_count: usize, frame_stamp: FrameStamp, ) -> CacheLocation
fn evict_old_blocks(&mut self, frame_stamp: FrameStamp)
sourcefn utilization(&self) -> f32
fn utilization(&self) -> f32
Returns the ratio of utilized blocks.
Trait Implementations§
source§impl MallocSizeOf for Texture
impl MallocSizeOf for Texture
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl Freeze for Texture
impl RefUnwindSafe for Texture
impl Send for Texture
impl Sync for Texture
impl Unpin for Texture
impl UnwindSafe for Texture
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more