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

Revert "Debug tracking of display items" #2786

Merged
merged 1 commit into from May 30, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -831,7 +831,6 @@ impl<'a> DisplayListFlattener<'a> {
info.is_backface_visible && stacking_context.is_backface_visible,
clip_sources,
info.tag,
info.is_tracked(),
container,
)
}
@@ -864,12 +863,11 @@ impl<'a> DisplayListFlattener<'a> {
&mut self,
prim_index: PrimitiveIndex,
clip_and_scroll: ScrollNodeAndClipChain,
is_tracked: bool,
) {
// Add primitive to the top-most Picture on the stack.
let pic_index = self.picture_stack.last().unwrap();
let pic = &mut self.prim_store.pictures[pic_index.0];
pic.add_primitive(prim_index, clip_and_scroll, is_tracked);
pic.add_primitive(prim_index, clip_and_scroll);
}

/// Convenience interface that creates a primitive entry and adds it
@@ -881,8 +879,6 @@ impl<'a> DisplayListFlattener<'a> {
clip_sources: Vec<ClipSource>,
container: PrimitiveContainer,
) {
let is_tracked = info.is_tracked();

if !self.shadow_stack.is_empty() {
// TODO(gw): Restructure this so we don't need to move the shadow
// stack out (borrowck due to create_primitive below).
@@ -908,15 +904,15 @@ impl<'a> DisplayListFlattener<'a> {

// Add the new primitive to the shadow picture.
let shadow_pic = &mut self.prim_store.pictures[shadow_pic_index.0];
shadow_pic.add_primitive(shadow_prim_index, clip_and_scroll, is_tracked);
shadow_pic.add_primitive(shadow_prim_index, clip_and_scroll);
}
self.shadow_stack = shadow_stack;
}

if container.is_visible() {
let prim_index = self.create_primitive(info, clip_sources, container);
self.add_primitive_to_hit_testing_list(info, clip_and_scroll);
self.add_primitive_to_draw_list(prim_index, clip_and_scroll, is_tracked);
self.add_primitive_to_draw_list(prim_index, clip_and_scroll);
}
}

@@ -952,9 +948,6 @@ impl<'a> DisplayListFlattener<'a> {
// to correctly handle some CSS cases (see #1957).
let max_clip = LayoutRect::max_rect();

// No tracking for the stacking context service primitives, for now
let is_tracked = false;

// If there is no root picture, create one for the main framebuffer.
if self.sc_stack.is_empty() {
// Should be no pictures at all if the stack is empty...
@@ -1036,14 +1029,13 @@ impl<'a> DisplayListFlattener<'a> {
is_backface_visible,
None,
None,
is_tracked,
PrimitiveContainer::Brush(prim),
);

let parent_pic_index = *self.picture_stack.last().unwrap();

let pic = &mut self.prim_store.pictures[parent_pic_index.0];
pic.add_primitive(prim_index, clip_and_scroll, is_tracked);
pic.add_primitive(prim_index, clip_and_scroll);

self.picture_stack.push(container_index);

@@ -1086,14 +1078,13 @@ impl<'a> DisplayListFlattener<'a> {
is_backface_visible,
None,
None,
is_tracked,
PrimitiveContainer::Brush(src_prim),
);

let parent_pic = &mut self.prim_store.pictures[parent_pic_index.0];
parent_pic_index = src_pic_index;

parent_pic.add_primitive(src_prim_index, clip_and_scroll, is_tracked);
parent_pic.add_primitive(src_prim_index, clip_and_scroll);

self.picture_stack.push(src_pic_index);
}
@@ -1117,13 +1108,12 @@ impl<'a> DisplayListFlattener<'a> {
is_backface_visible,
None,
None,
is_tracked,
PrimitiveContainer::Brush(src_prim),
);

let parent_pic = &mut self.prim_store.pictures[parent_pic_index.0];
parent_pic_index = src_pic_index;
parent_pic.add_primitive(src_prim_index, clip_and_scroll, is_tracked);
parent_pic.add_primitive(src_prim_index, clip_and_scroll);

self.picture_stack.push(src_pic_index);
}
@@ -1175,12 +1165,11 @@ impl<'a> DisplayListFlattener<'a> {
is_backface_visible,
None,
None,
is_tracked,
PrimitiveContainer::Brush(sc_prim),
);

let parent_pic = &mut self.prim_store.pictures[parent_pic_index.0];
parent_pic.add_primitive(sc_prim_index, clip_and_scroll, is_tracked);
parent_pic.add_primitive(sc_prim_index, clip_and_scroll);

// Add this as the top-most picture for primitives to be added to.
self.picture_stack.push(pic_index);
@@ -1364,7 +1353,6 @@ impl<'a> DisplayListFlattener<'a> {
let pipeline_id = self.sc_stack.last().unwrap().pipeline_id;
let current_reference_frame_index = self.current_reference_frame_index();
let max_clip = LayoutRect::max_rect();
let is_tracked = info.is_tracked();

// Quote from https://drafts.csswg.org/css-backgrounds-3/#shadow-blur
// "the image that would be generated by applying to the shadow a
@@ -1398,13 +1386,12 @@ impl<'a> DisplayListFlattener<'a> {
info.is_backface_visible,
None,
None,
is_tracked,
PrimitiveContainer::Brush(shadow_prim),
);

// Add the shadow primitive. This must be done before pushing this
// picture on to the shadow stack, to avoid infinite recursion!
self.add_primitive_to_draw_list(shadow_prim_index, clip_and_scroll, is_tracked);
self.add_primitive_to_draw_list(shadow_prim_index, clip_and_scroll);
self.shadow_stack.push((shadow, shadow_pic_index));
}

@@ -1484,7 +1471,6 @@ impl<'a> DisplayListFlattener<'a> {
self.add_primitive_to_draw_list(
prim_index,
clip_and_scroll,
info.is_tracked(),
);

self.scrollbar_prims.push(ScrollbarPrimitive {
@@ -26,7 +26,6 @@ use tiling::{Frame, RenderPass, RenderPassKind, RenderTargetContext};
use tiling::{ScrollbarPrimitive, SpecialRenderPasses};
use util::{self, MaxRect, WorldToLayoutFastTransform};


#[derive(Clone, Copy)]
#[cfg_attr(feature = "capture", derive(Serialize))]
#[cfg_attr(feature = "replay", derive(Deserialize))]
@@ -202,31 +202,20 @@ impl PicturePrimitive {
pub fn add_primitive(
&mut self,
prim_index: PrimitiveIndex,
clip_and_scroll: ScrollNodeAndClipChain,
is_tracked_for_debug: bool,
clip_and_scroll: ScrollNodeAndClipChain
) {
if let Some(ref mut run) = self.runs.last_mut() {
if run.clip_and_scroll == clip_and_scroll &&
run.base_prim_index.0 + run.count == prim_index.0 {
run.count += 1;
#[cfg(debug_assertions)]
{
run.is_tracked_for_debug |= is_tracked_for_debug;
}
return;
}
}
#[cfg(not(debug_assertions))]
{
let _ = is_tracked_for_debug;
}

self.runs.push(PrimitiveRun {
base_prim_index: prim_index,
count: 1,
clip_and_scroll,
#[cfg(debug_assertions)]
is_tracked_for_debug,
});
}

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.