diff options
-rw-r--r-- | Cargo.lock | 23 | ||||
-rw-r--r-- | components/canvas/Cargo.toml | 3 | ||||
-rw-r--r-- | components/canvas/webgl_mode/inprocess.rs | 2 | ||||
-rw-r--r-- | components/canvas/webgl_thread.rs | 1 | ||||
-rw-r--r-- | components/compositing/Cargo.toml | 2 | ||||
-rw-r--r-- | components/compositing/compositor.rs | 2 | ||||
-rw-r--r-- | components/compositing/compositor_thread.rs | 2 | ||||
-rw-r--r-- | components/compositing/windowing.rs | 3 | ||||
-rw-r--r-- | components/servo/Cargo.toml | 1 | ||||
-rw-r--r-- | components/servo/lib.rs | 4 | ||||
-rw-r--r-- | ports/glutin/embedder.rs | 2 | ||||
-rw-r--r-- | ports/libsimpleservo/api/Cargo.toml | 4 | ||||
-rw-r--r-- | ports/libsimpleservo/api/src/lib.rs | 8 |
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); |