Commit graph

83 commits

Author SHA1 Message Date
Brian Anderson
b13d93b83b Fix typos 2014-06-18 17:35:20 -07:00
Brian Anderson
b6c9b65355 Allow render threads to be specified with -t 2014-06-18 17:35:20 -07:00
Brian Anderson
95a57dfced Render in parallel 2014-06-18 17:35:20 -07:00
Patrick Walton
081e054b4a gfx: Add display list optimization to eliminate clipped items before
submitting them to Skia.

40x improvement in painting time on Wikipedia.
2014-06-05 13:31:12 -07:00
Cameron Zwarich
350c2b92d2 Make RenderChan a newtype struct.
Also, derive Clone rather than implementing it manually.
2014-05-26 22:21:32 -07:00
Ms2ger
eaedeb07cb Update Rust. 2014-05-22 16:36:40 -06:00
Matt Murphy
8b94a44c0b Changes based on review 2014-05-04 23:16:18 +02:00
Matt Murphy
af920f442b Convert Vec::new() to vec!() 2014-05-04 23:16:18 +02:00
Matt Murphy
d734a8937d ~[] to Vec in main/compositing and associated files 2014-05-04 23:16:16 +02:00
Lars Bergstrom
948daf2422 This batch of changes upgrades Servo to work with the Rust upgrade as of
April 10, 2014. The main changes are to privacy, to work around the
issues with incorrect bounds on the libstd `Arc<Mutex<T>>`, and the
various API changes strewn throughout the libraries.
2014-04-27 15:46:12 -05:00
Josh Matthews
d04efe6037 Fix some private type in public signature warnings. 2014-04-16 17:20:15 -04:00
Ms2ger
4e34fcd264 Remove trailing whitespace. 2014-04-07 11:41:58 +02:00
Ms2ger
31eee791dd Upgrade rust. 2014-04-04 20:10:32 +02:00
Patrick Walton
c49f23ffb2 layout: Address review feedback. 2014-04-03 14:51:18 -07:00
Patrick Walton
cd9d824c21 servo: Implement stacking contexts and allow multiple layers per
pipeline. This handles fixed positioning mostly correctly.
2014-04-03 14:50:56 -07:00
Lars Bergstrom
a6100563a6 Rust upgrade for new master rebase 2014-03-18 22:00:48 -05:00
Lars Bergstrom
fe22598c56 Check properly for None in the headless compositor case 2014-03-18 09:31:23 -05:00
Josh Matthews
64c0de9fe7 Warning police. 2014-03-18 09:31:22 -05:00
Lars Bergstrom
bbac8aa5c3 Rust upgrades 2014-03-18 09:30:35 -05:00
Tetsuharu OHZEKI
63cab5c72c Move from gfx::opts to servo_util::opts. 2014-02-25 07:07:54 +09:00
Keegan McAllister
36b8f63984 Restore failure handling
We probably leak some threads and resources, e.g. when the script task crashes
and doesn't get a chance to send layout data back to layout to be deallocated.

Not tested with iframes yet.
2014-02-12 18:07:32 -08:00
Ms2ger
5de886b31d Remove duplicate imports from render_task.rs. 2014-02-01 10:16:44 +01:00
Isabelle Carter
0892fada74 Multiple display list support 2014-01-30 17:11:17 -06:00
Patrick Walton
54f0f17f83 layout: Implement parallel reflow for the bubble-widths and
assign-heights phases.

This uses the new work-stealing deque. By default, 3/4 of a thread per
logical CPU is used. This can be tuned with the `-y` flag.

I measured a 65% reflow speedup on `perf-rainbow.html` and a 247% reflow
speedup on `http://en.wikipedia.org/wiki/South_China_Sea` on a 4-core
HyperThreaded Core i7. However, numbers were fairly volatile, especially
for the latter.
2014-01-22 15:59:21 -08:00
Lars Bergstrom
3e6ff80f18 Add extra debugging information. 2014-01-15 15:26:24 -06:00
zmike
193b6d2635 add names for all servo spawned tasks
* add servo_util::task::{spawn_named,spawn_with_named} functions

* add name param for spawn_listener and spawn_conversation functions

this should resolve #1169
2014-01-13 13:12:48 -05:00
Jack Moffitt
a7ef1cd35e Upgrade to latest Rust. 2014-01-12 19:45:45 -07:00
Daniel Hedlund
e7a591a7e1 Ensure render and layout tasks get destructed before main thread finishes
Fixes #1097.
2013-12-15 14:25:41 -08:00
Keegan McAllister
f0613184cf Don't clear buffers if we have no native graphics context
Fixes ./servo -z for content that calls window.close(), such as content tests.
2013-12-11 16:31:08 -08:00
patrick kim
964b5e9d9a remove SendableTextRun & remove @mut Font From TextRun&Shaper(Font),Font.shaper,
fontfamily,fontgroup,render_context.font_ctx
2013-12-07 09:52:06 +09:00
Keegan McAllister
4a72abbbb2 Return None from get_graphics_metadata in headless compositor
This fixes servo -z.
2013-12-05 13:55:33 -08:00
Isabelle Carter
9886135b43 unrendered content uses doc's background color
uses html's background color, or body's.
2013-11-24 16:50:12 -06:00
Keegan McAllister
ee821df09c Remove render() bypass for headless mode
render() isn't called in headless mode because the headless compositor never
sends a ReRenderMsg.

(This code was needed originally and that probably changed when CPU rendering
landed, but I'm not sure exactly why.)
2013-11-06 11:51:50 -08:00
Keegan McAllister
e2b7885b73 fmt! -> format! 2013-10-31 14:58:55 -06:00
Simon Sapin
b9fddb951e Fix unused import warnings. 2013-10-28 15:50:28 +00:00
Patrick Walton
3d0bfa5040 Implement CPU rendering. Replace texture sharing with native OS surface sharing. 2013-10-25 16:58:30 -07:00
Keegan McAllister
1b785f150c Add a headless null compositor
We also have to disable rendering in headless mode because it uses OpenGL calls
for now.

Fixes #471.
2013-10-22 13:35:09 -07:00
Jack Moffitt
94202661c0 Update to latest Rust. 2013-10-21 17:38:34 -06:00
Tim Kuehn
5f600f0ec0 fix constellation being inundated with messages from script.
script task sent RendererReadyMsg after every reflow.
now, the renderer sends RendererReady at the appropriate time,
and _only_ if it doesn't have paint permission.
2013-09-20 18:36:26 -04:00
Tim Kuehn
9df66ff021 workaround for broken cross-crate generic newtype structs
add issue number for newtype struct issue
2013-09-20 17:25:08 -04:00
Tim Kuehn
c804db0f93 deactive profiler when not in use; use newtype structs for task chans 2013-09-20 17:25:08 -04:00
eschweic
529573d3d7 Don't send invalid cached paint messages to compositor 2013-08-22 14:39:08 -07:00
eschweic
594246891d Change quadtree iterators 2013-08-20 13:28:02 -07:00
eschweic
d92cbe6a51 Add buffer_map.rs; implement LayerBuffer recycling 2013-08-20 13:15:06 -07:00
eschweic
02ae7bdd34 Stop copying buffers when sending them to quadtrees 2013-08-20 13:03:22 -07:00
Eric Atkinson
eb58e4f5d1 Remove extraneous references to flow tree objects. 2013-08-20 11:29:39 -07:00
eschweic
813bb2e43f Add Epoch newtype; address review comments 2013-08-19 19:36:29 -04:00
eschweic
eb6973c7dc Implement epochs; fix integration bugs 2013-08-19 19:34:52 -04:00
eschweic
8993434c39 Better layer resize methods 2013-08-19 19:11:12 -04:00
Tim Kuehn
86f0aacb3d reorganized constellation.
compositor routes dom events via constellation.
constellation handles iframe sizing and resizing.
2013-08-19 19:11:11 -04:00