diff --git a/webrender/src/resource_cache.rs b/webrender/src/resource_cache.rs index 908956be64..5269afb627 100644 --- a/webrender/src/resource_cache.rs +++ b/webrender/src/resource_cache.rs @@ -1202,6 +1202,20 @@ impl ResourceCache { ); tiles.retain(|tile, _| { tile_range.contains(tile) }); + + let texture_cache = &mut self.texture_cache; + match self.cached_images.try_get_mut(&key) { + Some(&mut ImageResult::Multi(ref mut entries)) => { + entries.retain(|key, entry| { + if key.tile.is_none() || tile_range.contains(&key.tile.unwrap()) { + return true; + } + texture_cache.mark_unused(&entry.texture_cache_handle); + return false; + }); + } + _ => {} + } } pub fn request_glyphs(