pub struct PipelineCache { /* private fields */ }Expand description
Caches compiled compute programs by their source hash.
Implementations§
Source§impl PipelineCache
impl PipelineCache
Sourcepub fn get_or_compile(
&mut self,
gl: &Context,
source: &ShaderSource,
) -> Result<&ComputeProgram, String>
pub fn get_or_compile( &mut self, gl: &Context, source: &ShaderSource, ) -> Result<&ComputeProgram, String>
Get or compile a program. If already cached, returns a reference.
Sourcepub fn get_or_compile_specialized(
&mut self,
gl: &Context,
source: &ShaderSource,
constants: &[SpecializationConstant],
) -> Result<&ComputeProgram, String>
pub fn get_or_compile_specialized( &mut self, gl: &Context, source: &ShaderSource, constants: &[SpecializationConstant], ) -> Result<&ComputeProgram, String>
Get or compile with specialization constants.
Sourcepub fn contains(&self, source: &ShaderSource) -> bool
pub fn contains(&self, source: &ShaderSource) -> bool
Check if a program is cached.
Sourcepub fn evict(&mut self, gl: &Context, source: &ShaderSource)
pub fn evict(&mut self, gl: &Context, source: &ShaderSource)
Evict a specific entry.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PipelineCache
impl RefUnwindSafe for PipelineCache
impl Send for PipelineCache
impl Sync for PipelineCache
impl Unpin for PipelineCache
impl UnsafeUnpin for PipelineCache
impl UnwindSafe for PipelineCache
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.