pub struct PictureScratch {
pub primary_render_task_id: Option<RenderTaskId>,
pub secondary_render_task_id: Option<RenderTaskId>,
pub extra_gpu_data: SmallVec<[GpuBufferAddress; 1]>,
}Expand description
Per-frame scratch data for a Picture primitive. Pushed in take_context
and read by both prepare and batch through the scratch_handle carried
on PrimitiveKind::Picture.
Fields§
§primary_render_task_id: Option<RenderTaskId>All render tasks have 0-2 input tasks.
secondary_render_task_id: Option<RenderTaskId>If a mix-blend-mode, contains the render task for the readback of the framebuffer that we use to sample from in the mix-blend-mode shader. For drop-shadow filter, this will store the original picture task which would be rendered on screen after blur pass. This is also used by SVGFEBlend, SVGFEComposite and SVGFEDisplacementMap filters.
extra_gpu_data: SmallVec<[GpuBufferAddress; 1]>Optional cache handles for storing extra data in the GPU cache, depending on the type of picture.
Implementations§
Trait Implementations§
Source§impl Debug for PictureScratch
impl Debug for PictureScratch
Auto Trait Implementations§
impl Freeze for PictureScratch
impl RefUnwindSafe for PictureScratch
impl Send for PictureScratch
impl Sync for PictureScratch
impl Unpin for PictureScratch
impl UnsafeUnpin for PictureScratch
impl UnwindSafe for PictureScratch
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