Struct webrender::scene_builder_thread::Interners
source · pub struct Interners {Show 17 fields
pub clip: Interner<ClipIntern>,
pub prim: Interner<PrimitiveKeyKind>,
pub normal_border: Interner<NormalBorderPrim>,
pub image_border: Interner<ImageBorder>,
pub image: Interner<Image>,
pub yuv_image: Interner<YuvImage>,
pub line_decoration: Interner<LineDecoration>,
pub linear_grad: Interner<LinearGradient>,
pub radial_grad: Interner<RadialGradient>,
pub conic_grad: Interner<ConicGradient>,
pub picture: Interner<Picture>,
pub text_run: Interner<TextRun>,
pub filter_data: Interner<FilterDataIntern>,
pub backdrop_capture: Interner<BackdropCapture>,
pub backdrop_render: Interner<BackdropRender>,
pub polygon: Interner<PolygonIntern>,
pub box_shadow: Interner<BoxShadow>,
}
Expand description
This struct contains all items that can be shared between display lists. We want to intern and share the same clips, primitives and other things between display lists so that:
- GPU cache handles remain valid, reducing GPU cache updates.
- Comparison of primitives and pictures between two display lists is (a) fast (b) done during scene building.
Fields§
§clip: Interner<ClipIntern>
§prim: Interner<PrimitiveKeyKind>
§normal_border: Interner<NormalBorderPrim>
§image_border: Interner<ImageBorder>
§image: Interner<Image>
§yuv_image: Interner<YuvImage>
§line_decoration: Interner<LineDecoration>
§linear_grad: Interner<LinearGradient>
§radial_grad: Interner<RadialGradient>
§conic_grad: Interner<ConicGradient>
§picture: Interner<Picture>
§text_run: Interner<TextRun>
§filter_data: Interner<FilterDataIntern>
§backdrop_capture: Interner<BackdropCapture>
§backdrop_render: Interner<BackdropRender>
§polygon: Interner<PolygonIntern>
§box_shadow: Interner<BoxShadow>
Implementations§
source§impl Interners
impl Interners
sourcefn report_memory(&self, ops: &mut MallocSizeOfOps, r: &mut MemoryReport)
fn report_memory(&self, ops: &mut MallocSizeOfOps, r: &mut MemoryReport)
Reports CPU heap memory used by the interners.
fn end_frame_and_get_pending_updates(&mut self) -> InternerUpdates
Trait Implementations§
source§impl AsMut<Interner<BackdropCapture>> for Interners
impl AsMut<Interner<BackdropCapture>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<BackdropCapture>
fn as_mut(&mut self) -> &mut Interner<BackdropCapture>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<BackdropRender>> for Interners
impl AsMut<Interner<BackdropRender>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<BackdropRender>
fn as_mut(&mut self) -> &mut Interner<BackdropRender>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<ClipIntern>> for Interners
impl AsMut<Interner<ClipIntern>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<ClipIntern>
fn as_mut(&mut self) -> &mut Interner<ClipIntern>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<ConicGradient>> for Interners
impl AsMut<Interner<ConicGradient>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<ConicGradient>
fn as_mut(&mut self) -> &mut Interner<ConicGradient>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<FilterDataIntern>> for Interners
impl AsMut<Interner<FilterDataIntern>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<FilterDataIntern>
fn as_mut(&mut self) -> &mut Interner<FilterDataIntern>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<ImageBorder>> for Interners
impl AsMut<Interner<ImageBorder>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<ImageBorder>
fn as_mut(&mut self) -> &mut Interner<ImageBorder>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<LineDecoration>> for Interners
impl AsMut<Interner<LineDecoration>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<LineDecoration>
fn as_mut(&mut self) -> &mut Interner<LineDecoration>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<LinearGradient>> for Interners
impl AsMut<Interner<LinearGradient>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<LinearGradient>
fn as_mut(&mut self) -> &mut Interner<LinearGradient>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<NormalBorderPrim>> for Interners
impl AsMut<Interner<NormalBorderPrim>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<NormalBorderPrim>
fn as_mut(&mut self) -> &mut Interner<NormalBorderPrim>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<PolygonIntern>> for Interners
impl AsMut<Interner<PolygonIntern>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<PolygonIntern>
fn as_mut(&mut self) -> &mut Interner<PolygonIntern>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<PrimitiveKeyKind>> for Interners
impl AsMut<Interner<PrimitiveKeyKind>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<PrimitiveKeyKind>
fn as_mut(&mut self) -> &mut Interner<PrimitiveKeyKind>
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl AsMut<Interner<RadialGradient>> for Interners
impl AsMut<Interner<RadialGradient>> for Interners
source§fn as_mut(&mut self) -> &mut Interner<RadialGradient>
fn as_mut(&mut self) -> &mut Interner<RadialGradient>
Converts this type into a mutable reference of the (usually inferred) input type.
Auto Trait Implementations§
impl Freeze for Interners
impl RefUnwindSafe for Interners
impl Send for Interners
impl Sync for Interners
impl Unpin for Interners
impl UnwindSafe for Interners
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