Commit Graph

7 Commits

Author SHA1 Message Date
Martin Robinson
41e77b65bc servo: Merge #10678 - WebRender no longer needs StackingLevel information (from mrobinson:remove-stackinglevel-from-webrender); r=pcwalton
Since the display list is already sorted before it is passed to
WebRender, we don't need to pass the stacking level information any
longer. Update webrender, webrender_traits, and gleam.

Source-Repo: https://github.com/servo/servo
Source-Revision: 062d933e4fb4a58d9dc319ec2b462f3c1d504d8a
2016-04-19 09:59:21 +05:00
Patrick Walton
69effb9e2a servo: Merge #10529 - layout: Make child stacking contexts of fixed position stacking contexts also fixed position (from pcwalton:nested-fixed-position-webrender); r=glennw
Improves YouTube.
Improves the Washington Post.

Closes #10526.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 150338503dce8f2ba7f2a6850dca253733a636a1
2016-04-12 10:08:11 +05:00
Patrick Walton
362120d391 servo: Merge #9947 - Faster display list transfer (from pcwalton:faster-display-list-transfer); r=glennw
This series of commits improves performance of display list construction in browser.html by about 3x when using WebRender.

It requires https://github.com/servo/webrender_traits/pull/18 and https://github.com/servo/webrender/pull/231.

Anyone should feel free to review if they have time; I'll ask someone in particular once those two upstream commits land.

cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 187ca442337313a76ce115ac92a2da44d91d5b96
2016-03-23 07:36:31 +05:00
Martin Robinson
f5e84d93d6 servo: Merge #9962 - Simplify the display list slightly (from mrobinson:display-list-simplification); r=pcwalton
Now that WebRender uses an Iframe display item, we do not need the Noop
item for the non-WebRender path. We can simply reuse the Iframe display
item. Also remove the layer_id member from the LayeredItem struct, as
it is unused.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40083a7aa84c2459f2f1de7dd826d39f80e2195f
2016-03-11 10:52:29 +05:00
Patrick Walton
9329d6b414 servo: Merge #9861 - Flatten the WebRender API to allow us to use shared memory to transfer display lists (from pcwalton:superflat); r=glennw
Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c63bf9822d54cf95daa9921cda08f3b60521027
2016-03-04 06:15:45 +05:00
Martin Robinson
867b8565bb servo: Merge #9756 - Flatten display list structure (from mrobinson:flat-display-lists-webrender); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62814f7cb486bc267a796b7ce58c51d59240fad0
2016-03-02 05:51:08 +05:00
Glenn Watson
3b05a50ca8 servo: Merge #9589 - Add WebRender integration to Servo (from glennw:webrender); r=pcwalton
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!

Source-Repo: https://github.com/servo/servo
Source-Revision: ab07b06823ea9748a6091aee2281495f86f00bce
2016-02-19 00:24:06 +05:00