Commit graph

8 commits

Author SHA1 Message Date
Patrick Walton
9d60fb7977 servo: Merge #10717 - layout: Implement support for overflow: scroll in WebRender (from pcwalton:wr-overflow-scroll); r=glennw
Requires a WebRender upgrade.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 64b0dafde8f65ef4aceeb85436c547a1581c619f
2016-04-20 02:26:44 +05:01
Martin Robinson
2728e5cc53 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 10:00:21 +05:01
Patrick Walton
46e11f6e68 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:09:11 +05:01
Patrick Walton
9a7523f50e 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:37:31 +05:01
Martin Robinson
f0ca9bc037 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:53:29 +05:01
Patrick Walton
229ea1816b 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:16:45 +05:01
Martin Robinson
36406cdba8 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:52:08 +05:01
Glenn Watson
c6d5efc75f 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

--HG--
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/clear.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/debug_color.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/mask.fs.glsl
2016-02-19 00:25:06 +05:01