aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock23
-rw-r--r--components/canvas/Cargo.toml3
-rw-r--r--components/canvas/webgl_mode/inprocess.rs2
-rw-r--r--components/canvas/webgl_thread.rs1
-rw-r--r--components/compositing/Cargo.toml2
-rw-r--r--components/compositing/compositor.rs2
-rw-r--r--components/compositing/compositor_thread.rs2
-rw-r--r--components/compositing/windowing.rs3
-rw-r--r--components/servo/Cargo.toml1
-rw-r--r--components/servo/lib.rs4
-rw-r--r--ports/glutin/embedder.rs2
-rw-r--r--ports/libsimpleservo/api/Cargo.toml4
-rw-r--r--ports/libsimpleservo/api/src/lib.rs8
13 files changed, 36 insertions, 21 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 98add3f80b9..32533335c1b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -454,6 +454,7 @@ dependencies = [
"sparkle",
"surfman",
"surfman-chains",
+ "surfman-chains-api",
"webrender",
"webrender_api",
"webrender_traits",
@@ -713,7 +714,7 @@ dependencies = [
"webrender_api",
"webvr",
"webvr_traits",
- "webxr-api",
+ "webxr",
]
[[package]]
@@ -2761,6 +2762,7 @@ dependencies = [
"webrender_traits",
"webvr",
"webvr_traits",
+ "webxr",
"webxr-api",
]
@@ -5101,18 +5103,25 @@ dependencies = [
[[package]]
name = "surfman-chains"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21b6bea161faead0c253302b3019c0d7f1133912c378b1e696b8f5fb359c8175"
+checksum = "43b0d399c15d8f4aad59cd98edbf58e4c96a3b711cf8daf1b006acab8aec97cb"
dependencies = [
"euclid",
"fnv",
"log",
"sparkle",
"surfman",
+ "surfman-chains-api",
]
[[package]]
+name = "surfman-chains-api"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1005da1169286262ef5d9d130bc120a447a99bdd6bb29a06a79ac4cd149a39dc"
+
+[[package]]
name = "svg_fmt"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6002,7 +6011,7 @@ dependencies = [
[[package]]
name = "webxr"
version = "0.0.1"
-source = "git+https://github.com/servo/webxr#4953e60dd9ff80324739eee22283d9b80f5c9559"
+source = "git+https://github.com/servo/webxr#0ae9b56ef7e646c54382f75fe79012e0f889363d"
dependencies = [
"bindgen",
"euclid",
@@ -6013,6 +6022,7 @@ dependencies = [
"openxr",
"serde",
"surfman",
+ "surfman-chains",
"webxr-api",
"winapi",
"wio",
@@ -6021,14 +6031,13 @@ dependencies = [
[[package]]
name = "webxr-api"
version = "0.0.1"
-source = "git+https://github.com/servo/webxr#4953e60dd9ff80324739eee22283d9b80f5c9559"
+source = "git+https://github.com/servo/webxr#0ae9b56ef7e646c54382f75fe79012e0f889363d"
dependencies = [
"euclid",
"ipc-channel",
"log",
"serde",
- "surfman",
- "surfman-chains",
+ "surfman-chains-api",
"winit",
]
diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml
index d8391bf7858..95136e677fd 100644
--- a/components/canvas/Cargo.toml
+++ b/components/canvas/Cargo.toml
@@ -40,4 +40,5 @@ webrender_traits = {path = "../webrender_traits"}
webxr-api = {git = "https://github.com/servo/webxr", features = ["ipc"]}
# NOTE: the sm-angle feature only enables angle on windows, not other platforms!
surfman = { version = "0.1", features = ["sm-angle", "sm-osmesa"] }
-surfman-chains = "0.1"
+surfman-chains = "0.2"
+surfman-chains-api = "0.2"
diff --git a/components/canvas/webgl_mode/inprocess.rs b/components/canvas/webgl_mode/inprocess.rs
index f033a72cf38..46c99fffaa8 100644
--- a/components/canvas/webgl_mode/inprocess.rs
+++ b/components/canvas/webgl_mode/inprocess.rs
@@ -19,6 +19,8 @@ use surfman::platform::generic::universal::device::Device;
use surfman::platform::generic::universal::surface::SurfaceTexture;
use surfman::SurfaceInfo;
use surfman_chains::SwapChains;
+use surfman_chains_api::SwapChainAPI;
+use surfman_chains_api::SwapChainsAPI;
use webrender_traits::{WebrenderExternalImageApi, WebrenderExternalImageRegistry};
use webxr_api::SwapChainId as WebXRSwapChainId;
diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs
index efb8e1ede49..810d869e87c 100644
--- a/components/canvas/webgl_thread.rs
+++ b/components/canvas/webgl_thread.rs
@@ -70,6 +70,7 @@ use surfman::SurfaceAccess;
use surfman::SurfaceInfo;
use surfman::SurfaceType;
use surfman_chains::SwapChains;
+use surfman_chains_api::SwapChainsAPI;
use webrender_traits::{WebrenderExternalImageRegistry, WebrenderImageHandlerType};
use webxr_api::SwapChainId as WebXRSwapChainId;
diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml
index 54ab58343ad..7a1581a70ad 100644
--- a/components/compositing/Cargo.toml
+++ b/components/compositing/Cargo.toml
@@ -41,7 +41,7 @@ webrender = {git = "https://github.com/servo/webrender", features = ["capture"]}
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
webvr_traits = {path = "../webvr_traits"}
webvr = {path = "../webvr"}
-webxr-api = {git = "https://github.com/servo/webxr"}
+webxr = {git = "https://github.com/servo/webxr"}
[build-dependencies]
toml = "0.5"
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index abfcf6b1aa1..10f7e6de2e6 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -182,7 +182,7 @@ pub struct IOCompositor<Window: WindowMethods + ?Sized> {
webvr_heartbeats: Vec<Box<dyn WebVRMainThreadHeartbeat>>,
/// Some XR devices want to run on the main thread.
- pub webxr_main_thread: webxr_api::MainThreadRegistry,
+ pub webxr_main_thread: webxr::MainThreadRegistry,
/// Map of the pending paint metrics per layout thread.
/// The layout thread for each specific pipeline expects the compositor to
diff --git a/components/compositing/compositor_thread.rs b/components/compositing/compositor_thread.rs
index f5a14352c96..bdb35fa0db2 100644
--- a/components/compositing/compositor_thread.rs
+++ b/components/compositing/compositor_thread.rs
@@ -164,5 +164,5 @@ pub struct InitialCompositorState {
pub webrender_document: webrender_api::DocumentId,
pub webrender_api: webrender_api::RenderApi,
pub webvr_heartbeats: Vec<Box<dyn WebVRMainThreadHeartbeat>>,
- pub webxr_main_thread: webxr_api::MainThreadRegistry,
+ pub webxr_main_thread: webxr::MainThreadRegistry,
}
diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs
index e2438e40518..decece701f4 100644
--- a/components/compositing/windowing.rs
+++ b/components/compositing/windowing.rs
@@ -19,6 +19,7 @@ use std::fmt::{Debug, Error, Formatter};
use std::rc::Rc;
use std::time::Duration;
use style_traits::DevicePixel;
+
use webrender_api::units::DevicePoint;
use webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize};
use webrender_api::ScrollLocation;
@@ -176,7 +177,7 @@ pub trait EmbedderMethods {
}
/// Register services with a WebXR Registry.
- fn register_webxr(&mut self, _: &mut webxr_api::MainThreadRegistry) {}
+ fn register_webxr(&mut self, _: &mut webxr::MainThreadRegistry) {}
}
#[derive(Clone, Copy, Debug)]
diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml
index 8b56bfbc8d9..f3e4cd086c5 100644
--- a/components/servo/Cargo.toml
+++ b/components/servo/Cargo.toml
@@ -82,6 +82,7 @@ webdriver_server = {path = "../webdriver_server", optional = true}
webvr = {path = "../webvr"}
webvr_traits = {path = "../webvr_traits"}
webxr-api = {git = "https://github.com/servo/webxr"}
+webxr = {git = "https://github.com/servo/webxr"}
surfman = { version = "0.1", features = ["sm-osmesa"] }
[target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_arch="arm"), not(target_arch="aarch64")))'.dependencies]
diff --git a/components/servo/lib.rs b/components/servo/lib.rs
index 9a39856c762..3d4b7bf14d3 100644
--- a/components/servo/lib.rs
+++ b/components/servo/lib.rs
@@ -422,7 +422,7 @@ where
// For the moment, we enable use both the webxr crate and the rust-webvr crate,
// but we are migrating over to just using webxr.
- let mut webxr_main_thread = webxr_api::MainThreadRegistry::new(event_loop_waker)
+ let mut webxr_main_thread = webxr::MainThreadRegistry::new(event_loop_waker)
.expect("Failed to create WebXR device registry");
if pref!(dom.webxr.enabled) {
embedder.register_webxr(&mut webxr_main_thread);
@@ -1010,7 +1010,7 @@ fn create_webgl_threads<W>(
webrender: &mut webrender::Renderer,
webrender_api_sender: webrender_api::RenderApiSender,
webvr_compositor: Option<Box<WebVRCompositorHandler>>,
- webxr_main_thread: &mut webxr_api::MainThreadRegistry,
+ webxr_main_thread: &mut webxr::MainThreadRegistry,
external_image_handlers: &mut WebrenderExternalImageHandlers,
external_images: Arc<Mutex<WebrenderExternalImageRegistry>>,
) -> WebGLThreads
diff --git a/ports/glutin/embedder.rs b/ports/glutin/embedder.rs
index fe8ed1ab5b7..44c925af3e4 100644
--- a/ports/glutin/embedder.rs
+++ b/ports/glutin/embedder.rs
@@ -89,7 +89,7 @@ impl EmbedderMethods for EmbedderCallbacks {
}
}
- fn register_webxr(&mut self, xr: &mut webxr_api::MainThreadRegistry) {
+ fn register_webxr(&mut self, xr: &mut webxr::MainThreadRegistry) {
if pref!(dom.webxr.test) {
xr.register_mock(webxr::headless::HeadlessMockDiscovery::new());
} else if !opts::get().headless && pref!(dom.webxr.glwindow) {
diff --git a/ports/libsimpleservo/api/Cargo.toml b/ports/libsimpleservo/api/Cargo.toml
index 083012403bb..ce9c10bac1c 100644
--- a/ports/libsimpleservo/api/Cargo.toml
+++ b/ports/libsimpleservo/api/Cargo.toml
@@ -13,7 +13,7 @@ log = "0.4"
servo-media = { git = "https://github.com/servo/media" }
webxr-api = { git = "https://github.com/servo/webxr", features = ["ipc"] }
-webxr = { git = "https://github.com/servo/webxr" , optional = true}
+webxr = { git = "https://github.com/servo/webxr"}
[target.'cfg(not(target_os = "macos"))'.dependencies]
libc = "0.2"
@@ -47,5 +47,5 @@ no_static_freetype = ["libservo/no_static_freetype"]
no-wgl = ["libservo/no-wgl"]
oculusvr = ["libservo/oculusvr"]
webdriver = ["libservo/webdriver"]
-uwp = ["libservo/uwp", "webxr", "webxr/openxr-api"]
+uwp = ["libservo/uwp", "webxr/openxr-api"]
webgl_backtrace = ["libservo/webgl_backtrace"]
diff --git a/ports/libsimpleservo/api/src/lib.rs b/ports/libsimpleservo/api/src/lib.rs
index 9b070d4b8e1..0b415ac669c 100644
--- a/ports/libsimpleservo/api/src/lib.rs
+++ b/ports/libsimpleservo/api/src/lib.rs
@@ -49,7 +49,7 @@ pub struct InitOptions {
pub coordinates: Coordinates,
pub density: f32,
pub vr_init: VRInitOptions,
- pub xr_discovery: Option<Box<dyn webxr_api::Discovery>>,
+ pub xr_discovery: Option<webxr::Discovery>,
pub enable_subpixel_text_antialiasing: bool,
pub gl_context_pointer: Option<*const c_void>,
pub native_display_pointer: Option<*const c_void>,
@@ -591,7 +591,7 @@ impl ServoGlue {
struct ServoEmbedderCallbacks {
waker: Box<dyn EventLoopWaker>,
- xr_discovery: Option<Box<dyn webxr_api::Discovery>>,
+ xr_discovery: Option<webxr::Discovery>,
vr_init: VRInitOptions,
#[allow(unused)]
gl: Rc<dyn gl::Gl>,
@@ -626,7 +626,7 @@ impl EmbedderMethods for ServoEmbedderCallbacks {
}
#[cfg(feature = "uwp")]
- fn register_webxr(&mut self, registry: &mut webxr_api::MainThreadRegistry) {
+ fn register_webxr(&mut self, registry: &mut webxr::MainThreadRegistry) {
debug!("EmbedderMethods::register_xr");
assert!(
self.xr_discovery.is_none(),
@@ -638,7 +638,7 @@ impl EmbedderMethods for ServoEmbedderCallbacks {
}
#[cfg(not(feature = "uwp"))]
- fn register_webxr(&mut self, registry: &mut webxr_api::MainThreadRegistry) {
+ fn register_webxr(&mut self, registry: &mut webxr::MainThreadRegistry) {
debug!("EmbedderMethods::register_xr");
if let Some(discovery) = self.xr_discovery.take() {
registry.register(discovery);