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

View file

@ -71,9 +71,8 @@ smallvec = "1.9"
sparkle = "0.1.25"
string_cache = "0.8"
string_cache_codegen = "0.5"
surfman = "0.7"
surfman-chains = "0.8"
surfman-chains-api = "0.2"
# NOTE: the sm-angle feature only enables angle on windows, not other platforms!
surfman = { version = "0.8", features = ["chains", "sm-angle", "sm-angle-default"] }
thin-slice = "0.1.0"
time = "0.1.41"
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.
immeta = { git = "https://github.com/fabricedesre/immeta.git" }
# This is required because we want all dependencies that use WebRender to
# use our vendored version.
[patch."https://github.com/servo/webrender"]

View file

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

View file

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

View file

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

View file

@ -13,5 +13,4 @@ path = "lib.rs"
[dependencies]
euclid = { 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::ffi::c_void;
use std::rc::Rc;
use surfman::Adapter;
use surfman::Connection;
use surfman::Context;
use surfman::ContextAttributeFlags;
use surfman::ContextAttributes;
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;
use surfman::chains::{PreserveBuffer, SwapChain};
use surfman::{
Adapter, Connection, Context, ContextAttributeFlags, ContextAttributes, Device, Error, GLApi,
GLVersion, NativeContext, NativeDevice, NativeWidget, Surface, SurfaceAccess, SurfaceInfo,
SurfaceTexture, SurfaceType,
};
/// A bridge between webrender and 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 context = self.0.context.borrow_mut();
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();
device.present_surface(context, &mut surface)?;

View file

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

View file

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