Struct webrender::renderer::TextureResolver
source · struct TextureResolver {
texture_cache_map: FastHashMap<CacheTextureId, CacheTexture>,
external_images: FastHashMap<DeferredResolveIndex, ExternalTexture>,
dummy_cache_texture: Texture,
}
Expand description
Helper struct for resolving device Textures for use during rendering passes.
Manages the mapping between the at-a-distance texture handles used by the
RenderBackend
(which does not directly interface with the GPU) and actual
device texture handles.
Fields§
§texture_cache_map: FastHashMap<CacheTextureId, CacheTexture>
A map to resolve texture cache IDs to native textures.
external_images: FastHashMap<DeferredResolveIndex, ExternalTexture>
Map of external image IDs to native textures.
dummy_cache_texture: Texture
A special 1x1 dummy texture used for shaders that expect to work with the output of the previous pass but are actually running in the first pass.
Implementations§
source§impl TextureResolver
impl TextureResolver
fn new(device: &mut Device) -> TextureResolver
fn deinit(self, device: &mut Device)
fn begin_frame(&mut self)
fn end_pass( &mut self, device: &mut Device, textures_to_invalidate: &[CacheTextureId], )
fn bind( &self, texture_id: &TextureSource, sampler: TextureSampler, device: &mut Device, ) -> Swizzle
fn resolve(&self, texture_id: &TextureSource) -> Option<(&Texture, Swizzle)>
fn get_uv_rect( &self, source: &TextureSource, default_value: TexelRect, ) -> TexelRect
sourcefn get_texture_size(&self, texture: &TextureSource) -> DeviceIntSize
fn get_texture_size(&self, texture: &TextureSource) -> DeviceIntSize
Returns the size of the texture in pixels
fn report_memory(&self) -> MemoryReport
fn update_profile(&self, profile: &mut TransactionProfile)
fn get_cache_texture_mut(&mut self, id: &CacheTextureId) -> &mut Texture
Auto Trait Implementations§
impl !Freeze for TextureResolver
impl !RefUnwindSafe for TextureResolver
impl Send for TextureResolver
impl !Sync for TextureResolver
impl Unpin for TextureResolver
impl UnwindSafe for TextureResolver
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