servo: Merge #15532 - Update WR (pixel snapping improvements) (from servo:webrender); r=nox

Source-Repo: https://github.com/servo/servo
Source-Revision: d44bf6182f9fba80a95fd44097edbca714ec406e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 016d60ad5c179ac092d23b53d7b2fa0872235034
This commit is contained in:
Glenn Watson 2017-02-13 14:46:46 -08:00
parent 0601a4ec8f
commit 006d4a6a0b
5 changed files with 26 additions and 7 deletions

22
servo/Cargo.lock generated
View File

@ -1299,6 +1299,11 @@ dependencies = [
"num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "json"
version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "jstraceable_derive"
version = "0.0.1"
@ -2970,6 +2975,16 @@ dependencies = [
"unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "thread_profiler"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"json 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "threadpool"
version = "1.3.2"
@ -3175,7 +3190,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.15.0"
source = "git+https://github.com/servo/webrender#512b4a1433a7827ef7cfd121d2f99fdd91ecf80e"
source = "git+https://github.com/servo/webrender#296851d8136b78f029f1d93b19b9ed69d36c2f57"
dependencies = [
"app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -3194,6 +3209,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
"thread_profiler 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.14.0 (git+https://github.com/servo/webrender)",
@ -3202,7 +3218,7 @@ dependencies = [
[[package]]
name = "webrender_traits"
version = "0.14.0"
source = "git+https://github.com/servo/webrender#512b4a1433a7827ef7cfd121d2f99fdd91ecf80e"
source = "git+https://github.com/servo/webrender#296851d8136b78f029f1d93b19b9ed69d36c2f57"
dependencies = [
"app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -3440,6 +3456,7 @@ dependencies = [
"checksum itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae3088ea4baeceb0284ee9eea42f591226e6beaecf65373e41b38d95a1b8e7a1"
"checksum jpeg-decoder 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "5c4ff3d14e7ef3522471ab712832c3dd50001f7fb7aa4cdc48af811d63b531e9"
"checksum js 0.1.4 (git+https://github.com/servo/rust-mozjs)" = "<none>"
"checksum json 0.11.5 (registry+https://github.com/rust-lang/crates.io-index)" = "5e7eb285e773498f9473a6e2255feffe95db9c55579c7931a6db83c9e02a4673"
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
"checksum khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "09c9d3760673c427d46f91a0350f0a84a52e6bc5a84adf26dc610b6c52436630"
"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
@ -3555,6 +3572,7 @@ dependencies = [
"checksum term_size 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "71662702fe5cd2cf95edd4ad655eea42f24a87a0e44059cbaa4e55260b7bc331"
"checksum thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4437c97558c70d129e40629a5b385b3fb1ffac301e63941335e4d354081ec14a"
"checksum thread_local 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7793b722f0f77ce716e7f1acf416359ca32ff24d04ffbac4269f44a4a83be05d"
"checksum thread_profiler 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c82b4f86ccf6ee107b1b6c9249aff6c9883ad1dd43a8fe29ffa8c4ed21add95"
"checksum threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "59f6d3eff89920113dac9db44dde461d71d01e88a5b57b258a0466c32b5d7fe1"
"checksum time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "211b63c112206356ef1ff9b19355f43740fc3f85960c598a93d3a3d3ba7beade"
"checksum tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d401358cd71aca93d5f4fccd3db5b87d970ae70fe457911929d99f4a87f7531"

View File

@ -734,7 +734,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
let pipeline_id = frame_tree.pipeline.id.to_webrender();
self.webrender_api.set_root_pipeline(pipeline_id);
self.webrender_api.generate_frame();
self.webrender_api.generate_frame(None);
self.create_pipeline_details_for_frame_tree(&frame_tree);

View File

@ -184,7 +184,7 @@ impl ToFilterOps for filter::T {
Filter::Grayscale(amount) => result.push(webrender_traits::FilterOp::Grayscale(amount)),
Filter::HueRotate(angle) => result.push(webrender_traits::FilterOp::HueRotate(angle.0)),
Filter::Invert(amount) => result.push(webrender_traits::FilterOp::Invert(amount)),
Filter::Opacity(amount) => result.push(webrender_traits::FilterOp::Opacity(amount)),
Filter::Opacity(amount) => result.push(webrender_traits::FilterOp::Opacity(amount.into())),
Filter::Saturate(amount) => result.push(webrender_traits::FilterOp::Saturate(amount)),
Filter::Sepia(amount) => result.push(webrender_traits::FilterOp::Sepia(amount)),
}
@ -347,8 +347,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
stacking_context.bounds.to_rectf(),
clip,
stacking_context.z_index,
&LayoutTransform::from_untyped(&stacking_context.transform),
&LayoutTransform::from_untyped(&stacking_context.perspective),
LayoutTransform::from_untyped(&stacking_context.transform).into(),
LayoutTransform::from_untyped(&stacking_context.perspective),
stacking_context.blend_mode.to_blend_mode(),
stacking_context.filters.to_filter_ops());
}

View File

@ -989,7 +989,7 @@ impl LayoutThread {
viewport_size,
builder,
true);
self.webrender_api.generate_frame();
self.webrender_api.generate_frame(None);
});
}

View File

@ -184,6 +184,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static {
clear_framebuffer: true,
clear_color: webrender_traits::ColorF::new(1.0, 1.0, 1.0, 1.0),
render_target_debug: false,
workers: None,
}).expect("Unable to initialize webrender!")
};