Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decompose repeated images and gradients into brush segments in most cases. #2572

Closed
wants to merge 7 commits into from

Remove tiled image map.

  • Loading branch information
nical committed Apr 4, 2018
commit 976a57c6cd7f141bc23b1828b36f95e0ffc395ed
@@ -30,7 +30,7 @@ use prim_store::{CachedGradientIndex, ImageCacheKey, ImagePrimitiveCpu, ImageSou
use prim_store::{PictureIndex, PrimitiveContainer, PrimitiveIndex, PrimitiveStore};
use prim_store::{ScrollNodeAndClipChain, TextRunPrimitiveCpu};
use render_backend::{DocumentView};
use resource_cache::{FontInstanceMap, ImageRequest, TiledImageMap};
use resource_cache::{FontInstanceMap, ImageRequest};
use scene::{Scene, ScenePipeline, StackingContextHelpers};
use scene_builder::{BuiltScene, SceneRequest};
use std::{f32, mem, usize};
@@ -150,9 +150,6 @@ pub struct DisplayListFlattener<'a> {
/// The map of all font instances.
font_instances: FontInstanceMap,

/// The map of tiled images.
tiled_image_map: TiledImageMap,

/// Used to track the latest flattened epoch for each pipeline.
pipeline_epochs: Vec<(PipelineId, Epoch)>,

@@ -207,7 +204,6 @@ impl<'a> DisplayListFlattener<'a> {
scene: &Scene,
clip_scroll_tree: &mut ClipScrollTree,
font_instances: FontInstanceMap,
tiled_image_map: TiledImageMap,
view: &DocumentView,
output_pipelines: &FastHashSet<PipelineId>,
frame_builder_config: &FrameBuilderConfig,
@@ -227,7 +223,6 @@ impl<'a> DisplayListFlattener<'a> {
scene,
clip_scroll_tree,
font_instances,
tiled_image_map,
config: *frame_builder_config,
pipeline_epochs: Vec::new(),
replacements: Vec::new(),
@@ -2186,7 +2181,6 @@ pub fn build_scene(config: &FrameBuilderConfig, request: SceneRequest) -> BuiltS
&request.scene,
&mut clip_scroll_tree,
request.font_instances,
request.tiled_image_map,
&request.view,
&request.output_pipelines,
config,
@@ -206,7 +206,6 @@ impl Document {
&self.pending.scene,
&mut self.clip_scroll_tree,
resource_cache.get_font_instances(),
resource_cache.get_tiled_image_map(),
&self.view,
&self.output_pipelines,
&self.frame_builder_config,
@@ -251,7 +250,6 @@ impl Document {
removed_pipelines: replace(&mut self.pending.removed_pipelines, Vec::new()),
view: self.view.clone(),
font_instances: resource_cache.get_font_instances(),
tiled_image_map: resource_cache.get_tiled_image_map(),
output_pipelines: self.output_pipelines.clone(),
})
} else {
@@ -108,8 +108,6 @@ pub struct ImageTiling {
pub tile_size: TileSize,
}

pub type TiledImageMap = FastHashMap<ImageKey, ImageTiling>;

#[derive(Default)]
struct ImageTemplates {
images: FastHashMap<ImageKey, ImageResource>,
@@ -842,28 +840,6 @@ impl ResourceCache {
})
}

pub fn get_tiled_image_map(&self) -> TiledImageMap {
self.resources
.image_templates
.images
.iter()
.filter_map(|(&key, template)| {
template.tiling.map(|tile_size| {
(
key,
ImageTiling {
image_size: DeviceUintSize::new(
template.descriptor.width,
template.descriptor.height,
),
tile_size,
},
)
})
})
.collect()
}

pub fn begin_frame(&mut self, frame_id: FrameId) {
debug_assert_eq!(self.state, State::Idle);
self.state = State::AddResources;
@@ -8,7 +8,7 @@ use display_list_flattener::build_scene;
use frame_builder::{FrameBuilderConfig, FrameBuilder};
use clip_scroll_tree::ClipScrollTree;
use internal_types::FastHashSet;
use resource_cache::{FontInstanceMap, TiledImageMap};
use resource_cache::FontInstanceMap;
use render_backend::DocumentView;
use scene::Scene;
use std::sync::mpsc::{channel, Receiver, Sender};
@@ -41,7 +41,6 @@ pub struct SceneRequest {
pub scene: Scene,
pub view: DocumentView,
pub font_instances: FontInstanceMap,
pub tiled_image_map: TiledImageMap,
pub output_pipelines: FastHashSet<PipelineId>,
pub removed_pipelines: Vec<PipelineId>,
}
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.