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

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)?;