Remove dependency on surfman-chains (#30090)

This functionality is now part of surfman itself.
This commit is contained in:
Martin Robinson 2023-08-11 16:24:10 +02:00 committed by GitHub
parent 59f5414ca8
commit c46631a1ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 26 additions and 83 deletions

36
Cargo.lock generated
View file

@ -640,8 +640,6 @@ dependencies = [
"style", "style",
"style_traits", "style_traits",
"surfman", "surfman",
"surfman-chains",
"surfman-chains-api",
"time 0.1.45", "time 0.1.45",
"webrender", "webrender",
"webrender_api", "webrender_api",
@ -5346,8 +5344,6 @@ dependencies = [
"servo-media", "servo-media",
"sparkle", "sparkle",
"surfman", "surfman",
"surfman-chains",
"surfman-chains-api",
"webxr", "webxr",
] ]
@ -6034,9 +6030,9 @@ dependencies = [
[[package]] [[package]]
name = "surfman" name = "surfman"
version = "0.7.2" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23cf77d20c00c8355323883b3ab476057430bd4c752c6b5cff4fabc9aa5786e9" checksum = "ca39befaf946247c5d3323465a9ec86c4a05523bb87a0d3eb07e71c15181a338"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"cfg_aliases", "cfg_aliases",
@ -6045,6 +6041,7 @@ dependencies = [
"core-foundation 0.9.3", "core-foundation 0.9.3",
"core-graphics", "core-graphics",
"euclid", "euclid",
"fnv",
"gl_generator 0.14.0", "gl_generator 0.14.0",
"io-surface", "io-surface",
"lazy_static", "lazy_static",
@ -6055,6 +6052,7 @@ dependencies = [
"objc", "objc",
"raw-window-handle 0.5.0", "raw-window-handle 0.5.0",
"servo-display-link", "servo-display-link",
"sparkle",
"wayland-sys 0.30.1", "wayland-sys 0.30.1",
"winapi", "winapi",
"winit", "winit",
@ -6062,26 +6060,6 @@ dependencies = [
"x11", "x11",
] ]
[[package]]
name = "surfman-chains"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "896f2c9668d2b6b1cc6634bcba84b6e80147c2c9243dfde6dedf782756f9a19c"
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]] [[package]]
name = "svg_fmt" name = "svg_fmt"
version = "0.4.0" version = "0.4.0"
@ -7063,7 +7041,6 @@ version = "0.0.1"
dependencies = [ dependencies = [
"euclid", "euclid",
"surfman", "surfman",
"surfman-chains",
] ]
[[package]] [[package]]
@ -7077,7 +7054,7 @@ dependencies = [
[[package]] [[package]]
name = "webxr" name = "webxr"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/webxr#798bf4da505a8d82e9f0bebfaf651f2133d89e3f" source = "git+https://github.com/servo/webxr#d817d07133dac7eac0eb5f6c5b9dddc1477b535a"
dependencies = [ dependencies = [
"android_injected_glue", "android_injected_glue",
"bindgen", "bindgen",
@ -7089,7 +7066,6 @@ dependencies = [
"serde", "serde",
"sparkle", "sparkle",
"surfman", "surfman",
"surfman-chains",
"time 0.1.45", "time 0.1.45",
"webxr-api", "webxr-api",
] ]
@ -7097,7 +7073,7 @@ dependencies = [
[[package]] [[package]]
name = "webxr-api" name = "webxr-api"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/webxr#798bf4da505a8d82e9f0bebfaf651f2133d89e3f" source = "git+https://github.com/servo/webxr#d817d07133dac7eac0eb5f6c5b9dddc1477b535a"
dependencies = [ dependencies = [
"euclid", "euclid",
"ipc-channel", "ipc-channel",

View file

@ -71,9 +71,8 @@ smallvec = "1.9"
sparkle = "0.1.25" sparkle = "0.1.25"
string_cache = "0.8" string_cache = "0.8"
string_cache_codegen = "0.5" string_cache_codegen = "0.5"
surfman = "0.7" # NOTE: the sm-angle feature only enables angle on windows, not other platforms!
surfman-chains = "0.8" surfman = { version = "0.8", features = ["chains", "sm-angle", "sm-angle-default"] }
surfman-chains-api = "0.2"
thin-slice = "0.1.0" thin-slice = "0.1.0"
time = "0.1.41" time = "0.1.41"
tokio = "1" tokio = "1"
@ -114,7 +113,6 @@ mio = { git = "https://github.com/servo/mio.git", branch = "servo-mio-0.6.22" }
# fork that bumps crates since the original repo is archived. # fork that bumps crates since the original repo is archived.
immeta = { git = "https://github.com/fabricedesre/immeta.git" } immeta = { git = "https://github.com/fabricedesre/immeta.git" }
# This is required because we want all dependencies that use WebRender to # This is required because we want all dependencies that use WebRender to
# use our vendored version. # use our vendored version.
[patch."https://github.com/servo/webrender"] [patch."https://github.com/servo/webrender"]

View file

@ -39,10 +39,7 @@ servo_config = { path = "../config" }
sparkle = { workspace = true } sparkle = { workspace = true }
style = { path = "../style" } style = { path = "../style" }
style_traits = { path = "../style_traits" } style_traits = { path = "../style_traits" }
# NOTE: the sm-angle feature only enables angle on windows, not other platforms! surfman = { workspace = true }
surfman = { workspace = true, features = ["sm-angle","sm-angle-default"] }
surfman-chains = { workspace = true }
surfman-chains-api = { workspace = true }
time = { workspace = true, optional = true } time = { workspace = true, optional = true }
webrender = { workspace = true } webrender = { workspace = true }
webrender_api = { workspace = true } webrender_api = { workspace = true }

View file

@ -10,12 +10,8 @@ use fnv::FnvHashMap;
use sparkle::gl::GlType; use sparkle::gl::GlType;
use std::default::Default; use std::default::Default;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use surfman::Device; use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
use surfman::SurfaceInfo; use surfman::{Device, SurfaceInfo, SurfaceTexture};
use surfman::SurfaceTexture;
use surfman_chains::SwapChains;
use surfman_chains_api::SwapChainAPI;
use surfman_chains_api::SwapChainsAPI;
use webrender_api::{DocumentId, RenderApiSender}; use webrender_api::{DocumentId, RenderApiSender};
use webrender_surfman::WebrenderSurfman; use webrender_surfman::WebrenderSurfman;
use webrender_traits::{ use webrender_traits::{

View file

@ -56,19 +56,11 @@ use std::rc::Rc;
use std::slice; use std::slice;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use std::thread; use std::thread;
use surfman; use surfman::chains::{PreserveBuffer, SwapChains, SwapChainsAPI};
use surfman::Adapter; use surfman::{
use surfman::Connection; self, Adapter, Connection, Context, ContextAttributeFlags, ContextAttributes, Device,
use surfman::Context; GLVersion, SurfaceAccess, SurfaceInfo, SurfaceType,
use surfman::ContextAttributeFlags; };
use surfman::ContextAttributes;
use surfman::Device;
use surfman::GLVersion;
use surfman::SurfaceAccess;
use surfman::SurfaceInfo;
use surfman::SurfaceType;
use surfman_chains::SwapChains;
use surfman_chains_api::SwapChainsAPI;
use webrender_api::{ use webrender_api::{
units::DeviceIntSize, DirtyRect, DocumentId, ExternalImageData, ExternalImageId, units::DeviceIntSize, DirtyRect, DocumentId, ExternalImageData, ExternalImageId,
ExternalImageType, ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey, ExternalImageType, ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey,
@ -829,9 +821,9 @@ impl WebGLThread {
&mut self.device, &mut self.device,
&mut data.ctx, &mut data.ctx,
if data.attributes.preserve_drawing_buffer { if data.attributes.preserve_drawing_buffer {
surfman_chains::PreserveBuffer::Yes(&*data.gl) PreserveBuffer::Yes(&*data.gl)
} else { } else {
surfman_chains::PreserveBuffer::No PreserveBuffer::No
}, },
) )
.unwrap(); .unwrap();

View file

@ -13,5 +13,4 @@ path = "lib.rs"
[dependencies] [dependencies]
euclid = { workspace = true } euclid = { workspace = true }
surfman = { workspace = true } surfman = { workspace = true }
surfman-chains = { workspace = true }

View file

@ -9,24 +9,12 @@ use euclid::default::Size2D;
use std::cell::RefCell; use std::cell::RefCell;
use std::ffi::c_void; use std::ffi::c_void;
use std::rc::Rc; use std::rc::Rc;
use surfman::Adapter; use surfman::chains::{PreserveBuffer, SwapChain};
use surfman::Connection; use surfman::{
use surfman::Context; Adapter, Connection, Context, ContextAttributeFlags, ContextAttributes, Device, Error, GLApi,
use surfman::ContextAttributeFlags; GLVersion, NativeContext, NativeDevice, NativeWidget, Surface, SurfaceAccess, SurfaceInfo,
use surfman::ContextAttributes; SurfaceTexture, SurfaceType,
use surfman::Device; };
use surfman::Error;
use surfman::GLApi;
use surfman::GLVersion;
use surfman::NativeContext;
use surfman::NativeDevice;
use surfman::NativeWidget;
use surfman::Surface;
use surfman::SurfaceAccess;
use surfman::SurfaceInfo;
use surfman::SurfaceTexture;
use surfman::SurfaceType;
use surfman_chains::SwapChain;
/// A bridge between webrender and surfman /// A bridge between webrender and surfman
// TODO: move this into a different crate so that script doesn't depend on surfman // TODO: move this into a different crate so that script doesn't depend on surfman
@ -150,7 +138,7 @@ impl WebrenderSurfman {
let ref mut device = self.0.device.borrow_mut(); let ref mut device = self.0.device.borrow_mut();
let ref mut context = self.0.context.borrow_mut(); let ref mut context = self.0.context.borrow_mut();
if let Some(ref swap_chain) = self.0.swap_chain { if let Some(ref swap_chain) = self.0.swap_chain {
return swap_chain.swap_buffers(device, context, surfman_chains::PreserveBuffer::No); return swap_chain.swap_buffers(device, context, PreserveBuffer::No);
} }
let mut surface = device.unbind_surface_from_context(context)?.unwrap(); let mut surface = device.unbind_surface_from_context(context)?.unwrap();
device.present_surface(context, &mut surface)?; device.present_surface(context, &mut surface)?;

View file

@ -30,8 +30,6 @@ log = { workspace = true }
servo-media = { git = "https://github.com/servo/media" } servo-media = { git = "https://github.com/servo/media" }
sparkle = { workspace = true } sparkle = { workspace = true }
surfman = { workspace = true } surfman = { workspace = true }
surfman-chains = { workspace = true }
surfman-chains-api = { workspace = true }
webxr = { git = "https://github.com/servo/webxr", features = ["glwindow"] } webxr = { git = "https://github.com/servo/webxr", features = ["glwindow"] }
[build-dependencies] [build-dependencies]

View file

@ -88,13 +88,12 @@ use sparkle::gl;
use sparkle::gl::types::GLuint; use sparkle::gl::types::GLuint;
use sparkle::gl::Gl; use sparkle::gl::Gl;
use surfman::chains::{SwapChain, SwapChainAPI};
use surfman::Connection; use surfman::Connection;
use surfman::Context; use surfman::Context;
use surfman::Device; use surfman::Device;
use surfman::SurfaceAccess; use surfman::SurfaceAccess;
use surfman::SurfaceType; use surfman::SurfaceType;
use surfman_chains::SwapChain;
use surfman_chains_api::SwapChainAPI;
use std::cell::RefCell; use std::cell::RefCell;
use std::collections::HashMap; use std::collections::HashMap;