pub struct ShaderCache<ShaderModule, RenderDevice> {
pub composer: Composer,
/* private fields */
}
Fields§
§composer: Composer
Implementations§
Source§impl<ShaderModule, RenderDevice> ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> ShaderCache<ShaderModule, RenderDevice>
pub fn new( features: Features, downlevel: DownlevelFlags, load_module: fn(&RenderDevice, ShaderCacheSource<'_>, &ValidateShader) -> Result<ShaderModule, PipelineCacheError>, ) -> Self
pub fn get( &mut self, render_device: &RenderDevice, pipeline: CachedPipelineId, id: AssetId<Shader>, shader_defs: &[ShaderDefVal], ) -> Result<Arc<ShaderModule>, PipelineCacheError>
pub fn set_shader( &mut self, id: AssetId<Shader>, shader: Shader, ) -> Vec<CachedPipelineId> ⓘ
pub fn remove(&mut self, id: AssetId<Shader>) -> Vec<CachedPipelineId> ⓘ
Auto Trait Implementations§
impl<ShaderModule, RenderDevice> Freeze for ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> !RefUnwindSafe for ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> Send for ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> Sync for ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> Unpin for ShaderCache<ShaderModule, RenderDevice>
impl<ShaderModule, RenderDevice> !UnwindSafe for ShaderCache<ShaderModule, RenderDevice>
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>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
Converts
&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)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.