From f562c426e345ed39eeb09c3ea618685252a7807a Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Wed, 28 Sep 2016 17:18:50 +1000 Subject: [PATCH 1/2] Switch default renderer to webrender, and update webrender. --- components/servo/Cargo.lock | 4 ++-- components/util/opts.rs | 7 +++---- ports/cef/Cargo.lock | 4 ++-- resources/shaders/ps_blend.fs.glsl | 2 +- resources/shaders/ps_blend.glsl | 2 +- resources/shaders/ps_blend.vs.glsl | 2 +- resources/shaders/ps_image_clip.fs.glsl | 4 ++-- resources/shaders/ps_rectangle_clip.fs.glsl | 4 ++-- 8 files changed, 14 insertions(+), 15 deletions(-) diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 40c268d6b24..1f45d97091d 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -2661,7 +2661,7 @@ dependencies = [ [[package]] name = "webrender" version = "0.5.1" -source = "git+https://github.com/servo/webrender#cf945d15c71c757c6694b40a38fd7cfef1a2f827" +source = "git+https://github.com/servo/webrender#dfa4246ebe40c78882cdd3e69e776b1e09a2f58e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2686,7 +2686,7 @@ dependencies = [ [[package]] name = "webrender_traits" version = "0.5.1" -source = "git+https://github.com/servo/webrender#cf945d15c71c757c6694b40a38fd7cfef1a2f827" +source = "git+https://github.com/servo/webrender#dfa4246ebe40c78882cdd3e69e776b1e09a2f58e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/util/opts.rs b/components/util/opts.rs index aef7b3a84eb..659ead8b4c5 100644 --- a/components/util/opts.rs +++ b/components/util/opts.rs @@ -540,7 +540,7 @@ pub fn default_opts() -> Opts { exit_after_load: false, no_native_titlebar: false, enable_vsync: true, - use_webrender: false, + use_webrender: true, webrender_stats: false, use_msaa: false, render_api: DEFAULT_RENDER_API, @@ -556,7 +556,7 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { let (app_name, args) = args.split_first().unwrap(); let mut opts = Options::new(); - opts.optflag("c", "cpu", "CPU painting (default)"); + opts.optflag("c", "cpu", "CPU painting"); opts.optflag("g", "gpu", "GPU painting"); opts.optopt("o", "output", "Output file", "output.png"); opts.optopt("s", "size", "Size of tiles", "512"); @@ -790,8 +790,7 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { opt_match.opt_present("b") || !PREFS.get("shell.native-titlebar.enabled").as_boolean().unwrap(); - let use_webrender = - PREFS.get("gfx.webrender.enabled").as_boolean().unwrap() || opt_match.opt_present("w"); + let use_webrender = !opt_match.opt_present("c"); let render_api = match opt_match.opt_str("G") { Some(ref ga) if ga == "gl" => RenderApi::GL, diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index c728aec1e3b..b397478fcba 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -2521,7 +2521,7 @@ dependencies = [ [[package]] name = "webrender" version = "0.5.1" -source = "git+https://github.com/servo/webrender#cf945d15c71c757c6694b40a38fd7cfef1a2f827" +source = "git+https://github.com/servo/webrender#dfa4246ebe40c78882cdd3e69e776b1e09a2f58e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2546,7 +2546,7 @@ dependencies = [ [[package]] name = "webrender_traits" version = "0.5.1" -source = "git+https://github.com/servo/webrender#cf945d15c71c757c6694b40a38fd7cfef1a2f827" +source = "git+https://github.com/servo/webrender#dfa4246ebe40c78882cdd3e69e776b1e09a2f58e" dependencies = [ "app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/resources/shaders/ps_blend.fs.glsl b/resources/shaders/ps_blend.fs.glsl index 12ccbf0b6cf..b501d3772a1 100644 --- a/resources/shaders/ps_blend.fs.glsl +++ b/resources/shaders/ps_blend.fs.glsl @@ -6,5 +6,5 @@ uniform sampler2D sCache; void main(void) { vec4 color = texture(sCache, vUv); - oFragColor = vec4(color.rgb, color.a * vOpacity); + oFragColor = vec4(color.rgb * vBrightnessOpacity.x, color.a * vBrightnessOpacity.y); } diff --git a/resources/shaders/ps_blend.glsl b/resources/shaders/ps_blend.glsl index 773cf91e27e..5e12752629e 100644 --- a/resources/shaders/ps_blend.glsl +++ b/resources/shaders/ps_blend.glsl @@ -3,4 +3,4 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ varying vec2 vUv; -varying float vOpacity; +varying vec2 vBrightnessOpacity; diff --git a/resources/shaders/ps_blend.vs.glsl b/resources/shaders/ps_blend.vs.glsl index 479bd67e432..05d46860d99 100644 --- a/resources/shaders/ps_blend.vs.glsl +++ b/resources/shaders/ps_blend.vs.glsl @@ -15,7 +15,7 @@ void main(void) { vec2 st0 = vec2(src.target_rect.xy) / 2048.0; vec2 st1 = vec2(src.target_rect.xy + src.target_rect.zw) / 2048.0; vUv = mix(st0, st1, aPosition.xy); - vOpacity = blend.src_id_target_id_opacity.z; + vBrightnessOpacity = blend.src_id_target_id_opacity.zw; gl_Position = uTransform * vec4(local_pos, 0, 1); } diff --git a/resources/shaders/ps_image_clip.fs.glsl b/resources/shaders/ps_image_clip.fs.glsl index 62da5a846f9..3cc2ba3d632 100644 --- a/resources/shaders/ps_image_clip.fs.glsl +++ b/resources/shaders/ps_image_clip.fs.glsl @@ -6,7 +6,7 @@ void main(void) { #ifdef WR_FEATURE_TRANSFORM - float alpha = 1; + float alpha = 1.f; vec2 local_pos = init_transform_fs(vLocalPos, vLocalRect, alpha); // We clamp the texture coordinate calculation here to the local rectangle boundaries, @@ -14,7 +14,7 @@ void main(void) { vec2 pos_for_texture = clamp(pos, vLocalRect.xy, vLocalRect.xy + vLocalRect.zw) - vLocalRect.xy; #else - float alpha = 1; + float alpha = 1.f; vec2 local_pos = vLocalPos; vec2 relative_pos_in_rect = vLocalPos - vLocalRect.xy; #endif diff --git a/resources/shaders/ps_rectangle_clip.fs.glsl b/resources/shaders/ps_rectangle_clip.fs.glsl index d65ac5fd2ee..61b2b026b7c 100644 --- a/resources/shaders/ps_rectangle_clip.fs.glsl +++ b/resources/shaders/ps_rectangle_clip.fs.glsl @@ -4,10 +4,10 @@ void main(void) { #ifdef WR_FEATURE_TRANSFORM - float alpha = 1; + float alpha = 1.f; vec2 local_pos = init_transform_fs(vPos, vLocalRect, alpha); #else - float alpha = 1; + float alpha = 1.f; vec2 local_pos = vPos; #endif From dd4827d85f3484d0d05b282ad30f3f56b1c1c633 Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Wed, 28 Sep 2016 18:42:30 +1000 Subject: [PATCH 2/2] Update test expectations, remove webrender prefs/cmd line. --- python/servo/package_commands.py | 2 +- python/servo/post_build_commands.py | 3 +-- resources/android_params | 1 - resources/package-prefs.json | 1 - resources/prefs.json | 1 - .../html/css-filters-animation-brightness.htm.ini | 2 +- .../filters-1_dev/html/filters-test-brightness-001.htm.ini | 3 --- .../filters-1_dev/html/filters-test-brightness-002.htm.ini | 3 --- 8 files changed, 3 insertions(+), 13 deletions(-) delete mode 100644 tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-001.htm.ini delete mode 100644 tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-002.htm.ini diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py index fbc659d5696..41a0f35467b 100644 --- a/python/servo/package_commands.py +++ b/python/servo/package_commands.py @@ -307,7 +307,7 @@ class PackageCommands(CommandBase): delete(dir_to_package + '/build/' + f) print("Writing runservo.sh") # TODO: deduplicate this arg list from post_build_commands - servo_args = ['-w', '-b', + servo_args = ['-b', '--pref', 'dom.mozbrowser.enabled', '--pref', 'dom.forcetouch.enabled', '--pref', 'shell.builtin-key-shortcuts.enabled=false', diff --git a/python/servo/post_build_commands.py b/python/servo/post_build_commands.py index 5f40683e19c..0dc5bc498bd 100644 --- a/python/servo/post_build_commands.py +++ b/python/servo/post_build_commands.py @@ -98,8 +98,7 @@ class PostBuildCommands(CommandBase): # Convert to a relative path to avoid mingw -> Windows path conversions browserhtml_path = path.relpath(browserhtml_path, os.getcwd()) - args = args + ['-w', - '--pref', 'dom.mozbrowser.enabled', + args = args + ['--pref', 'dom.mozbrowser.enabled', '--pref', 'dom.forcetouch.enabled', '--pref', 'shell.builtin-key-shortcuts.enabled=false', path.join(browserhtml_path, 'out', 'index.html')] diff --git a/resources/android_params b/resources/android_params index 81026559f37..17775237c00 100644 --- a/resources/android_params +++ b/resources/android_params @@ -6,5 +6,4 @@ # lines (the "-p" and "10" are separate even though they are related). servo --w http://en.wikipedia.org/wiki/Rust diff --git a/resources/package-prefs.json b/resources/package-prefs.json index e111e65730d..62c13fe617f 100644 --- a/resources/package-prefs.json +++ b/resources/package-prefs.json @@ -6,7 +6,6 @@ "dom.serviceworker.timeout_seconds": 60, "dom.testable_crash.enabled": false, "dom.testbinding.enabled": false, - "gfx.webrender.enabled": true, "js.baseline.enabled": true, "js.ion.enabled": true, "js.asmjs.enabled": true, diff --git a/resources/prefs.json b/resources/prefs.json index 35961dee0e2..7c7fdabb61c 100644 --- a/resources/prefs.json +++ b/resources/prefs.json @@ -6,7 +6,6 @@ "dom.serviceworker.timeout_seconds": 60, "dom.testable_crash.enabled": false, "dom.testbinding.enabled": false, - "gfx.webrender.enabled": false, "js.baseline.enabled": true, "js.ion.enabled": true, "js.asmjs.enabled": true, diff --git a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini index 121b2598fe6..ee26622e1e9 100644 --- a/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini +++ b/tests/wpt/metadata-css/filters-1_dev/html/css-filters-animation-brightness.htm.ini @@ -1,3 +1,3 @@ [css-filters-animation-brightness.htm] type: reftest - expected: CRASH + expected: FAIL diff --git a/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-001.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-001.htm.ini deleted file mode 100644 index aad56d32579..00000000000 --- a/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-001.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[filters-test-brightness-001.htm] - type: reftest - expected: CRASH diff --git a/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-002.htm.ini b/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-002.htm.ini deleted file mode 100644 index 5f60bdd1db3..00000000000 --- a/tests/wpt/metadata-css/filters-1_dev/html/filters-test-brightness-002.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[filters-test-brightness-002.htm] - type: reftest - expected: CRASH