Commit graph

3288 commits

Author SHA1 Message Date
bors-servo
ceaca2e288 Auto merge of #6357 - ecoal95:more-webgl, r=pcwalton
See the commit descriptions for more details. 

Blocked on https://github.com/servo/gleam/pull/24

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6357)
<!-- Reviewable:end -->
2015-06-13 15:05:08 -06:00
ecoal95
eb502bdbb8 webgl: Add drawArrays reftest
I also removed flackyness of the clearColor test, hopefully it's fixed now
that a lot of race conditions have disappeared thanks to @glennw.
2015-06-13 23:03:39 +02:00
ecoal95
ff568ecc90 webgl: Add multiple WebGL calls (activeTexture + blend*)
* activeTexture
* blendColor
* blendFunc
* blendFuncSeparate
* blendEquation
* blendEquationSeparate

Blocked on gleam.
2015-06-13 23:03:38 +02:00
ecoal95
c33776a600 webgl: Uncomment WebGLRenderingContext constants 2015-06-13 23:03:38 +02:00
ecoal95
b0d04765ae webgl: Add WebGLActiveInfo and WebGLShaderPrecisionFormat interfaces 2015-06-13 23:03:37 +02:00
ecoal95
ee192793d5 Update gleam to 0108e2a6c7ca4dc471bfb94ba1ed368335e4da28 2015-06-13 23:03:36 +02:00
Corey Farwell
5c408d2be9 rust-geom API changes
https://github.com/servo/rust-geom/pull/81
2015-06-13 12:28:21 -07:00
Ms2ger
a880bc5230 Update the Cargo.locks. 2015-06-13 18:41:59 +02:00
bors-servo
b0a80de92b Auto merge of #6356 - ecoal95:webgl-android, r=jdm
This just bumps `offscreen_gl_context`, which added egl support
recently.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6356)
<!-- Reviewable:end -->
2015-06-13 02:31:33 -06:00
bors-servo
9474e62d38 Auto merge of #6157 - hyowon:canvas_pattern_fill, r=nox
Issue #6056
Depends on servo/rust-azure#160

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6157)
<!-- Reviewable:end -->
2015-06-13 01:49:50 -06:00
Hyowon Kim
00240e5550 Implementation of pattern fill style for canvas. 2015-06-13 14:35:13 +09:00
bors-servo
c3d242544e Auto merge of #6308 - pcwalton:debloat-partialeq, r=nox
This makes the difference between selector matching scaling on the ARM
Cortex-A9 and not, because the auto-derived `PartialEq` implementation
blows out the 32KB I-cache. With this change, there is a 2x improvement
in selector matching over sequential when using all 8 cores. (More work
needs to be done; this is a start.)

r? any DOM expert

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6308)
<!-- Reviewable:end -->
2015-06-12 21:04:05 -06:00
bors-servo
8063e34235 Auto merge of #6302 - eddyb:preserve-ua-on-redirect, r=nox
This unblocks facebook.com's feed, after a few months of it being accidentally broken.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6302)
<!-- Reviewable:end -->
2015-06-12 19:51:26 -06:00
bors-servo
f03f584895 Auto merge of #6334 - nnethercote:report-local-contexts, r=pcwalton
Passing a function that measures TLS to WorkQueue is a bit weird, but I can't see how else to measure that data.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6334)
<!-- Reviewable:end -->
2015-06-12 18:42:32 -06:00
ecoal95
d6e5fb9d0e Add WebGL android support
This just bumps `offscreen_gl_context`, which added egl support
recently.

Also bumps `egl` with a needed patch.
2015-06-13 01:18:40 +02:00
Patrick Walton
732fd9e050 layout: Divide DOM nodes and flows into chunks, and perform work stealing over
those instead of working on nodes one-by-one.

This reduces the overhead of the work-stealing traversal function
significantly. It's especially important on ARM, where memory barriers are
expensive.
2015-06-12 16:07:39 -07:00
Patrick Walton
8c210e1a27 script: Make PartialEq on element type IDs generate a lot less code.
This makes the difference between selector matching scaling on the ARM
Cortex-A9 and not, because the auto-derived `PartialEq` implementation
blows out the 32KB I-cache. With this change, there is a 2x improvement
in selector matching over sequential when using all 8 cores. (More work
needs to be done; this is a start.)
2015-06-12 15:00:02 -07:00
bors-servo
2168ec3c96 Auto merge of #6340 - aweinstock314:reduce-textinput-allocations, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6340)
<!-- Reviewable:end -->
2015-06-12 15:00:37 -06:00
Eduard Burtescu
9a87f830fc Preserve UserAgent header on redirect. 2015-06-12 21:44:22 +03:00
bors-servo
c8c7bd900d Auto merge of #6354 - mmatyas:canvas_remdep, r=Ms2ger
It seems @hyowon uploaded her canvas shadow patch faster than me; I've handled the color dependency a bit different, this way `gfx_traits` is not required by the script module.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6354)
<!-- Reviewable:end -->
2015-06-12 10:22:54 -06:00
bors-servo
9ea50957fc Auto merge of #6345 - pcwalton:workqueue-arm-optzns, r=glennw
Improves scaling on multicore ARM devices.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6345)
<!-- Reviewable:end -->
2015-06-12 07:28:19 -06:00
bors-servo
5b318d53e2 Auto merge of #6348 - nox:azure, r=Manishearth
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6348)
<!-- Reviewable:end -->
2015-06-12 05:49:32 -06:00
Mátyás Mustoha
3ae64fe739 Remove gfx_traits from the dependencies of [script]. 2015-06-12 12:59:46 +02:00
bors-servo
b9d53a2950 Auto merge of #6346 - nnethercote:improve-mem-unit-testing, r=Manishearth
r? @Manishearth

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6346)
<!-- Reviewable:end -->
2015-06-12 04:08:53 -06:00
bors-servo
f163f2bf0d Auto merge of #6337 - hyowon:shadow_attrs, r=nox
The first step of the implementation for shadows in canvas.
r? @nox @jdm 
cc @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6337)
<!-- Reviewable:end -->
2015-06-12 03:27:07 -06:00
Ms2ger
230c4201f3 Revert "WebSocket constructor should not panic"
This reverts commit 877c369e0b.
2015-06-12 09:40:57 +02:00
Hyowon Kim
473afdb196 Add attributes for canvas shadows. 2015-06-12 09:40:00 +09:00
Anthony Ramine
08415391f6 Update azure to b9bb83c733507f3f57e2c334499f38432056e26c 2015-06-12 01:37:10 +02:00
Nicholas Nethercote
ab59a201f8 Improve unit testing of util::mem. 2015-06-11 15:23:27 -07:00
Patrick Walton
a063fdde73 util: Reduce memory barriers and integer divisions in the work queue.
Improves scaling on multicore ARM devices.
2015-06-11 15:07:16 -07:00
Avi Weinstock
b1486720e9 Remove some unnecessary allocations in text input handling. 2015-06-11 12:50:40 -04:00
Jinwoo Song
877c369e0b WebSocket constructor should not panic
Make an early return when the WebSocket connection fails in the constructor.
Also let the WebSockect connection to be closed when the connection could
not be established.

Fixes #6082.
2015-06-11 13:58:04 +02:00
bors-servo
74ef31cfc4 Auto merge of #6335 - nnethercote:fix-layout-task-shutdown-panic, r=metajack
Prior to this change, a panic would occur if a CollectReport message was
received while the LayoutTask was shutting down. Now it just gets
ignored.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6335)
<!-- Reviewable:end -->
2015-06-11 00:58:41 -06:00
Nicholas Nethercote
67e7436cb8 Ignore CollectReport messages when shutting down the LayoutTask.
Prior to this change, a panic would occur if a CollectReport message was
received while the LayoutTask was shutting down. Now it just gets
ignored.
2015-06-10 21:18:39 -07:00
Nicholas Nethercote
48a0725c01 Measure LocalLayoutContexts in LayoutTask and LayoutWorkers.
The FreeType instances in layout workers are reasonably large and worth
measuring. The one in LayoutTask is smaller but it's easy to measure at the
same time. Sample output:
```
|    8.33 MiB -- pages
|       8.33 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
|          1.32 MiB -- layout-worker-0-local-context
|          1.31 MiB -- layout-worker-1-local-context
|          1.24 MiB -- layout-worker-3-local-context
|          1.17 MiB -- layout-worker-4-local-context
|          1.08 MiB -- layout-worker-2-local-context
|          1.06 MiB -- layout-worker-5-local-context
|          0.78 MiB -- paint-task
|             0.78 MiB -- buffer-map
|          0.38 MiB -- layout-task
|             0.30 MiB -- display-list
|             0.07 MiB -- local-context
```
This required adding a mechanism to WorkQueue to measure worker TLSes.
2015-06-10 21:06:59 -07:00
bors-servo
a8b6632a5a Auto merge of #6328 - mbrubeck:line-comment, r=pcwalton
r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6328)
<!-- Reviewable:end -->
2015-06-10 17:44:55 -06:00
bors-servo
fdeebf86a1 Auto merge of #6309 - nnethercote:instrument-freetype, r=glennw
This will allow reporting of memory usage by FreeType instances, which
are measured in the MiBs for LayoutWorker threads.

This change also makes FreeType allocations happen with jemalloc instead
of the system malloc, which is a good thing.

Finally, the change documents some dubiousness involving
FontContextHandle.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6309)
<!-- Reviewable:end -->
2015-06-10 16:53:55 -06:00
Nicholas Nethercote
1553fada53 Instrument FreeType allocations.
This will allow reporting of memory usage by FreeType instances, which
are measured in the MiBs for LayoutWorker threads.

This change also makes FreeType allocations happen with jemalloc instead
of the system malloc, which is a good thing.

Finally, the change documents some dubiousness involving
FontContextHandle.
2015-06-10 15:48:19 -07:00
Glenn Watson
899ab226de Updates for changes in rust-geom and rust-layers 2015-06-11 07:19:58 +10:00
Patrick Walton
e42011cd53 Revert "Updates for changes in rust-geom and rust-layers" 2015-06-10 14:14:51 -07:00
Patrick Walton
053296e131 Merge pull request #6329 from glennw/remove-generic
Updates for changes in rust-geom and rust-layers
2015-06-10 14:14:24 -07:00
Glenn Watson
8fb29c91e6 Updates for changes in rust-geom and rust-layers 2015-06-11 07:05:56 +10:00
Matt Brubeck
775953b11e Fix indices in Line::range doc comment 2015-06-10 14:04:15 -07:00
Simon Sapin
ac3d78c309 Pick up memory safety fix in rust-smallvec 2015-06-10 17:21:07 +02:00
bors-servo
35000a9b85 Auto merge of #6317 - frewsxcv:rm-util-crate-reexports, r=Ms2ger
The util component specified fnv and smallvec as dependencies and publicly
reexported both of them. Several other components utilized these reexports,
presumably because fnv and smallvec used to live in the tree so reexporting
made the transition easier.

These indirect dependencies through the util component are unnecessary.

This commit removes the fnv & smallvec crate reexports in the util component.
It exchange, it adds fnv & smallvec as dependencies to non-util components
wherever needed. Finally, it removes the fnv dependency from util as it is not
utilized anywhere in the util component.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6317)
<!-- Reviewable:end -->
2015-06-10 08:23:11 -06:00
Corey Farwell
4f47b41fa7 Remove fnv & smallvec crate reexports from util
The util component specified fnv and smallvec as dependencies and publicly
reexported both of them. Several other components utilized these reexports,
presumably because fnv and smallvec used to live in the tree so reexporting
made the transition easier.

These indirect dependencies through the util component are unnecessary.

This commit removes the fnv & smallvec crate reexports in the util component.
It exchange, it adds fnv & smallvec as dependencies to non-util components
wherever needed. Finally, it removes the fnv dependency from util as it is not
utilized anywhere in the util component.
2015-06-10 07:14:55 -07:00
bors-servo
c86e461555 Auto merge of #6323 - Ms2ger:typo, r=SimonSapin
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6323)
<!-- Reviewable:end -->
2015-06-10 07:30:09 -06:00
bors-servo
9df13b9069 Auto merge of #6324 - mmatyas:arm_build, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6324)
<!-- Reviewable:end -->
2015-06-10 06:46:13 -06:00
Mátyás Mustoha
53427f43ab Add ARM build support. 2015-06-10 14:24:57 +02:00
Ms2ger
9ef975d929 Fix a typo in the DOM documentation. 2015-06-10 13:45:05 +02:00