Glenn Watson
30d9e75557
Update rust-layers to get 2d transform + clipping support.
2015-08-11 08:48:44 +10:00
Patrick Walton
6eacb0c995
gfx: Make display lists serializable using serde
.
...
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.
This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.
2015-07-15 19:04:17 -07:00
Patrick Walton
9ce65c08a5
layout: Make the LayoutControlChan
use IPC.
2015-07-14 13:45:52 -07:00
Patrick Walton
e841065351
compositing: Move messages that go over the ScriptListener
to go over
...
an IPC channel instead.
Because this used a boxed trait object to invoke messages across a
process boundary, and boxed trait objects are not supported across IPC,
we spawn a helper thread inside the compositor to perform the marshaling
for us.
2015-07-14 12:12:19 -07:00
Martin Robinson
e115c3d3c4
Move LayerBuffer cache to the compositor
...
Now that NativeDisplay can be shared between the compositor and the
paint task, we can move the LayerBuffer cache to the compositor. This
allows surfaces to be potentially reused between different paint tasks
and will eventually allow OpenGL contexts to be preserved between
instances of GL rasterization.
2015-07-08 08:05:11 -07:00
Martin Robinson
0f27bd6c4b
Update to latest rust-layers
...
The compositing context, painting context and display metadata have all
been collapsed into a single NativeDisplay class.
2015-06-30 21:58:54 -07:00
Glenn Watson
39ddbbb0e1
Implement enough of 3d transforms spec to run the CSS FPS demo.
2015-06-23 14:10:44 +10:00
ecoal95
8cbfb3482c
Use euclid from crates.io
2015-06-19 00:04:24 +02:00
Corey Farwell
435e551753
Remove get_
prefix on getters
...
Part of #6224
I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`
2015-06-02 08:54:44 -04:00
Patrick Walton
6a197719b3
compositing: Implement display ports and avoid creating display lists
...
for items outside it.
This improves Servo's performance on large pages.
2015-05-19 16:53:51 -07:00
Glenn Watson
2b3737d34e
Various fixes for cleaning up iframes, compositor layers, pipelines and threads.
...
This allows most of the jquery test suite to run without exhausting thread resources.
2015-05-14 11:42:54 +10:00
Glenn Watson
eec3fad93d
Fixes a number of race conditions and reliability issues with reftests and compositor.
...
The basic idea is it's safe to output an image for reftest by testing:
- That the compositor doesn't have any animations active.
- That the compositor is not waiting on any outstanding paint messages to arrive.
- That the script tasks are "idle" and therefore won't cause reflow.
- This currently means page loaded, onload fired, reftest-wait not active, first reflow triggered.
- It could easily be expanded to handle pending timers etc.
- That the "epoch" that the layout tasks have last laid out after script went idle, is reflected by the compositor in all visible layers for that pipeline.
2015-05-14 09:35:53 +10:00
Glenn Watson
79942f0920
Fix a compositor race condition that can result in the most recent buffer not being painted.
2015-05-12 10:34:05 +10:00
Ms2ger
903305416a
Implement Clone for Copy types.
2015-04-28 23:31:10 +02:00
Ms2ger
37c271a260
Use usize and u32 for LayerId.
2015-03-28 15:36:36 +01:00
Ms2ger
ac3c076892
Use u32 for Epoch.
2015-03-28 15:36:36 +01:00
Ms2ger
2ca59b3f5b
Fix warnings in msg.
2015-02-13 11:08:31 +01:00
Josh Matthews
95fc29fa0d
Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev.
2015-01-28 10:16:49 +10:00
bors-servo
1458709247
auto merge of #4558 : mrobinson/servo/compositor-message-renames, r=zwarich
...
These names no longer reflect what the messages do, so rename them to
SetFrameTree, AssignPaintedBuffers, and CreateOrUpdateBaseLayer.
2015-01-08 12:36:53 -07:00
Ms2ger
16c7060bc8
Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19.
2015-01-08 09:58:46 -05:00
Martin Robinson
ad751e4926
Rename Compositor messages SetIds and Paint
...
These names no longer reflect what the messages do, so rename them to
SetFrameTree and AssignPaintedBuffers.
2015-01-06 07:23:26 -08:00
Patrick Walton
5ea2c6dcfd
layout: Paint stacking contexts' overflow areas properly.
...
This was making `box-shadow` not show up in many cases, in particular,
but the effects were not limited to that.
2015-01-04 17:41:59 -08:00
Ms2ger
138081ba25
Rename the PaintState variants.
2015-01-04 11:59:49 +01:00
Nathan E. Egge
b0552cb98e
Sending key events through script task before processing them in the compositor.
...
Fixes #4163
2014-12-12 12:31:44 -05:00
Patrick Walton
8b2aadc30b
ports/cef: Implement accelerated compositing for the CEF port.
2014-12-10 08:35:47 -08:00
Tetsuharu OHZEKI
037eff0f4c
Replace 'render' to 'paint' in compositor_msg.rs
2014-12-08 15:32:33 +09:00
Tetsuharu OHZEKI
806b6f09c9
Rename RenderState -> PaintState
2014-12-08 14:05:50 +09:00
Tetsuharu OHZEKI
b5f73fb179
Rename RenderListener -> PaintListener, and its methods.
2014-12-08 14:05:50 +09:00
Jack Moffitt
d1b433a3b3
Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a
2014-11-13 11:17:43 +10:00
Patrick Walton
10f7b49cf7
Invert control flow, fix resizing, and improve checkerboarding
...
significantly by giving tiles some time to paint before we render
unrendered content.
2014-11-04 13:51:56 -08:00
Patrick Walton
55222336b5
gfx: Paint in parallel in CPU painting mode
2014-10-22 07:47:47 -07:00
Keegan McAllister
a640a7c5c3
Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000)
2014-09-20 13:00:06 -07:00
Bryan Bell
0e86679464
Store one RenderState per-pipeline in the Compositor
...
This can later be used to decide whether the entire pipeline is ready
for rendering.
2014-09-12 10:47:51 -07:00
Bryan Bell
c182308350
Store Compositor ReadyState per-pipeline
...
Instead of storing a single ReadyState, store one per pipeline and
track the earliest one.
2014-09-12 10:47:50 -07:00
Jack Moffitt
c6ab60dbfc
Cargoify servo
2014-09-08 20:21:42 -06:00