mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
Support for webxr layer management
This commit is contained in:
parent
af110ac21f
commit
349619ed2d
34 changed files with 949 additions and 642 deletions
17
components/webrender_surfman/#Cargo.toml#
Normal file
17
components/webrender_surfman/#Cargo.toml#
Normal file
|
@ -0,0 +1,17 @@
|
|||
[package]
|
||||
name = "webrender_surfman"
|
||||
version = "0.0.1"
|
||||
authors = ["The Servo Project Developers"]
|
||||
license = "MPL-2.0"
|
||||
edition = "2018"
|
||||
publish = false
|
||||
|
||||
[lib]
|
||||
name = "webrender_surfman"
|
||||
path = "lib.rs"
|
||||
|
||||
[dependencies]
|
||||
euclid = "0.20"
|
||||
surfman = "0.3"
|
||||
surfman-chains = "0.4i"
|
||||
|
1
components/webrender_surfman/.#Cargo.toml
Symbolic link
1
components/webrender_surfman/.#Cargo.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
ajeffrey@ajeffrey-home.4753:1592856534
|
|
@ -12,6 +12,6 @@ path = "lib.rs"
|
|||
|
||||
[dependencies]
|
||||
euclid = "0.20"
|
||||
surfman = "0.2"
|
||||
surfman-chains = "0.3"
|
||||
surfman = "0.3"
|
||||
surfman-chains = "0.4"
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ use surfman::SurfaceAccess;
|
|||
use surfman::SurfaceInfo;
|
||||
use surfman::SurfaceTexture;
|
||||
use surfman::SurfaceType;
|
||||
use surfman_chains::SurfmanProvider;
|
||||
use surfman_chains::SwapChain;
|
||||
|
||||
/// A bridge between webrender and surfman
|
||||
|
@ -68,7 +67,7 @@ impl WebrenderSurfman {
|
|||
};
|
||||
let context_attributes = ContextAttributes { flags, version };
|
||||
let context_descriptor = device.create_context_descriptor(&context_attributes)?;
|
||||
let mut context = device.create_context(&context_descriptor)?;
|
||||
let mut context = device.create_context(&context_descriptor, None)?;
|
||||
let surface_access = SurfaceAccess::GPUOnly;
|
||||
let headless = match surface_type {
|
||||
SurfaceType::Widget { .. } => false,
|
||||
|
@ -82,11 +81,10 @@ impl WebrenderSurfman {
|
|||
err
|
||||
})?;
|
||||
let swap_chain = if headless {
|
||||
let surface_provider = Box::new(SurfmanProvider::new(surface_access));
|
||||
Some(SwapChain::create_attached(
|
||||
&mut device,
|
||||
&mut context,
|
||||
surface_provider,
|
||||
surface_access,
|
||||
)?)
|
||||
} else {
|
||||
None
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue