diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-04-29 22:06:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-29 22:06:23 -0400 |
commit | 343f249c1d1dbd46d0712e34c1baa9aafe19a75a (patch) | |
tree | dee5dc3e9b9f40a3f4644693fccc07eac00bc3de | |
parent | d1279ebdc66f8735eb29f051df365c74b0a5f1f5 (diff) | |
parent | d4f0dbce25ae21f99548202ebf53525d9428a4f5 (diff) | |
download | servo-343f249c1d1dbd46d0712e34c1baa9aafe19a75a.tar.gz servo-343f249c1d1dbd46d0712e34c1baa9aafe19a75a.zip |
Auto merge of #26352 - asajeffrey:webxr-glwindow-red-cyan, r=Manishearth
Add a pref for webxr glwindow anaglyphic red-cyan stereo
<!-- Please describe your changes on the following line: -->
Allows us to test out 3D content using old-skule glasses.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because it's back end work
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
-rw-r--r-- | Cargo.lock | 4 | ||||
-rw-r--r-- | components/config/prefs.rs | 8 | ||||
-rw-r--r-- | ports/glutin/app.rs | 2 | ||||
-rw-r--r-- | ports/glutin/headed_window.rs | 8 | ||||
-rw-r--r-- | resources/prefs.json | 3 |
5 files changed, 19 insertions, 6 deletions
diff --git a/Cargo.lock b/Cargo.lock index bf1e2cf2331..8b68a7176a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6428,7 +6428,7 @@ dependencies = [ [[package]] name = "webxr" version = "0.0.1" -source = "git+https://github.com/servo/webxr#eae68436697131122504b035746daa3a157b36b4" +source = "git+https://github.com/servo/webxr#e1e935abacbef378efd3c5a676dfe63d4e5a6692" dependencies = [ "android_injected_glue", "bindgen", @@ -6451,7 +6451,7 @@ dependencies = [ [[package]] name = "webxr-api" version = "0.0.1" -source = "git+https://github.com/servo/webxr#eae68436697131122504b035746daa3a157b36b4" +source = "git+https://github.com/servo/webxr#e1e935abacbef378efd3c5a676dfe63d4e5a6692" dependencies = [ "euclid", "ipc-channel", diff --git a/components/config/prefs.rs b/components/config/prefs.rs index 25c59352693..b6f2030ad9c 100644 --- a/components/config/prefs.rs +++ b/components/config/prefs.rs @@ -297,8 +297,12 @@ mod gen { enabled: bool, #[serde(default)] test: bool, - #[serde(default)] - glwindow: bool, + glwindow: { + #[serde(default)] + enabled: bool, + #[serde(rename = "dom.webxr.glwindow.red-cyan")] + red_cyan: bool, + }, hands: { #[serde(default)] enabled: bool, diff --git a/ports/glutin/app.rs b/ports/glutin/app.rs index 7b4adca6e28..e200015c8c9 100644 --- a/ports/glutin/app.rs +++ b/ports/glutin/app.rs @@ -54,7 +54,7 @@ impl App { )) }; - let xr_discovery = if pref!(dom.webxr.glwindow) { + let xr_discovery = if pref!(dom.webxr.glwindow.enabled) { let window = window.clone(); let surfman = window.webrender_surfman(); let events_loop = events_loop.clone(); diff --git a/ports/glutin/headed_window.rs b/ports/glutin/headed_window.rs index abfe328431a..d15520b2125 100644 --- a/ports/glutin/headed_window.rs +++ b/ports/glutin/headed_window.rs @@ -651,6 +651,14 @@ impl webxr::glwindow::GlWindow for XRWindow { fn get_translation(&self) -> Vector3D<f32, UnknownUnit> { self.pose.xr_translation.get().clone() } + + fn get_mode(&self) -> webxr::glwindow::GlWindowMode { + if pref!(dom.webxr.glwindow.red_cyan) { + webxr::glwindow::GlWindowMode::StereoRedCyan + } else { + webxr::glwindow::GlWindowMode::StereoLeftRight + } + } } impl XRWindowPose { diff --git a/resources/prefs.json b/resources/prefs.json index 1d578ee74d6..61d24c83f65 100644 --- a/resources/prefs.json +++ b/resources/prefs.json @@ -33,7 +33,8 @@ "dom.webvr.test": false, "dom.webvtt.enabled": false, "dom.webxr.enabled": true, - "dom.webxr.glwindow": true, + "dom.webxr.glwindow.enabled": true, + "dom.webxr.glwindow.red-cyan": false, "dom.webxr.hands.enabled": false, "dom.webxr.layers.enabled": false, "dom.webxr.test": false, |