Skip to content

Commit

Permalink
Auto merge of #9756 - mrobinson:flat-display-lists-webrender, r=pcwalton
Browse files Browse the repository at this point in the history
Flatten display list structure

Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9756)
<!-- Reviewable:end -->
  • Loading branch information
bors-servo committed Mar 2, 2016
2 parents 70941e3 + e7019f2 commit 62814f7
Show file tree
Hide file tree
Showing 27 changed files with 1,666 additions and 1,818 deletions.
1,306 changes: 510 additions & 796 deletions components/gfx/display_list/mod.rs

Large diffs are not rendered by default.

97 changes: 0 additions & 97 deletions components/gfx/display_list/optimizer.rs

This file was deleted.

0 comments on commit 62814f7

Please sign in to comment.