mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
remove sparkle from components/servo (#33910)
* replace sparkle's GlType with canvas_traits's GlType Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * remove sparkle from components/servo Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
a008b6fc73
commit
fa9cb79fc8
5 changed files with 16 additions and 19 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -4142,7 +4142,6 @@ dependencies = [
|
||||||
"servo_config",
|
"servo_config",
|
||||||
"servo_geometry",
|
"servo_geometry",
|
||||||
"servo_url",
|
"servo_url",
|
||||||
"sparkle",
|
|
||||||
"style",
|
"style",
|
||||||
"style_traits",
|
"style_traits",
|
||||||
"surfman",
|
"surfman",
|
||||||
|
|
|
@ -5,11 +5,10 @@
|
||||||
use std::default::Default;
|
use std::default::Default;
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
use canvas_traits::webgl::{webgl_channel, WebGLContextId, WebGLMsg, WebGLThreads};
|
use canvas_traits::webgl::{webgl_channel, GlType, WebGLContextId, WebGLMsg, WebGLThreads};
|
||||||
use euclid::default::Size2D;
|
use euclid::default::Size2D;
|
||||||
use fnv::FnvHashMap;
|
use fnv::FnvHashMap;
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use sparkle::gl::GlType;
|
|
||||||
use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
|
use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
|
||||||
use surfman::{Device, SurfaceInfo, SurfaceTexture};
|
use surfman::{Device, SurfaceInfo, SurfaceTexture};
|
||||||
use webrender::RenderApiSender;
|
use webrender::RenderApiSender;
|
||||||
|
|
|
@ -211,7 +211,7 @@ pub(crate) struct WebGLThread {
|
||||||
/// The swap chains used by webrender
|
/// The swap chains used by webrender
|
||||||
webrender_swap_chains: SwapChains<WebGLContextId, Device>,
|
webrender_swap_chains: SwapChains<WebGLContextId, Device>,
|
||||||
/// Whether this context is a GL or GLES context.
|
/// Whether this context is a GL or GLES context.
|
||||||
api_type: gl::GlType,
|
api_type: GlType,
|
||||||
/// The bridge to WebXR
|
/// The bridge to WebXR
|
||||||
pub webxr_bridge: WebXRBridge,
|
pub webxr_bridge: WebXRBridge,
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ pub(crate) struct WebGLThreadInit {
|
||||||
pub webrender_swap_chains: SwapChains<WebGLContextId, Device>,
|
pub webrender_swap_chains: SwapChains<WebGLContextId, Device>,
|
||||||
pub connection: Connection,
|
pub connection: Connection,
|
||||||
pub adapter: Adapter,
|
pub adapter: Adapter,
|
||||||
pub api_type: gl::GlType,
|
pub api_type: GlType,
|
||||||
pub webxr_init: WebXRBridgeInit,
|
pub webxr_init: WebXRBridgeInit,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -553,20 +553,20 @@ impl WebGLThread {
|
||||||
);
|
);
|
||||||
|
|
||||||
let gl = match self.api_type {
|
let gl = match self.api_type {
|
||||||
gl::GlType::Gl => Gl::gl_fns(gl::ffi_gl::Gl::load_with(|symbol_name| {
|
GlType::Gl => Gl::gl_fns(gl::ffi_gl::Gl::load_with(|symbol_name| {
|
||||||
self.device.get_proc_address(&ctx, symbol_name)
|
self.device.get_proc_address(&ctx, symbol_name)
|
||||||
})),
|
})),
|
||||||
gl::GlType::Gles => Gl::gles_fns(gl::ffi_gles::Gles2::load_with(|symbol_name| {
|
GlType::Gles => Gl::gles_fns(gl::ffi_gles::Gles2::load_with(|symbol_name| {
|
||||||
self.device.get_proc_address(&ctx, symbol_name)
|
self.device.get_proc_address(&ctx, symbol_name)
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
|
|
||||||
let glow = unsafe {
|
let glow = unsafe {
|
||||||
match self.api_type {
|
match self.api_type {
|
||||||
gl::GlType::Gl => glow::Context::from_loader_function(|symbol_name| {
|
GlType::Gl => glow::Context::from_loader_function(|symbol_name| {
|
||||||
self.device.get_proc_address(&ctx, symbol_name)
|
self.device.get_proc_address(&ctx, symbol_name)
|
||||||
}),
|
}),
|
||||||
gl::GlType::Gles => glow::Context::from_loader_function(|symbol_name| {
|
GlType::Gles => glow::Context::from_loader_function(|symbol_name| {
|
||||||
self.device.get_proc_address(&ctx, symbol_name)
|
self.device.get_proc_address(&ctx, symbol_name)
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
@ -2901,12 +2901,12 @@ fn clamp_viewport(gl: &Gl, size: Size2D<u32>) -> Size2D<u32> {
|
||||||
}
|
}
|
||||||
|
|
||||||
trait ToSurfmanVersion {
|
trait ToSurfmanVersion {
|
||||||
fn to_surfman_version(self, api_type: gl::GlType) -> GLVersion;
|
fn to_surfman_version(self, api_type: GlType) -> GLVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ToSurfmanVersion for WebGLVersion {
|
impl ToSurfmanVersion for WebGLVersion {
|
||||||
fn to_surfman_version(self, api_type: gl::GlType) -> GLVersion {
|
fn to_surfman_version(self, api_type: GlType) -> GLVersion {
|
||||||
if api_type == gl::GlType::Gles {
|
if api_type == GlType::Gles {
|
||||||
return GLVersion::new(3, 0);
|
return GLVersion::new(3, 0);
|
||||||
}
|
}
|
||||||
match self {
|
match self {
|
||||||
|
@ -2923,7 +2923,7 @@ trait SurfmanContextAttributeFlagsConvert {
|
||||||
fn to_surfman_context_attribute_flags(
|
fn to_surfman_context_attribute_flags(
|
||||||
&self,
|
&self,
|
||||||
webgl_version: WebGLVersion,
|
webgl_version: WebGLVersion,
|
||||||
api_type: gl::GlType,
|
api_type: GlType,
|
||||||
) -> ContextAttributeFlags;
|
) -> ContextAttributeFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2931,13 +2931,13 @@ impl SurfmanContextAttributeFlagsConvert for GLContextAttributes {
|
||||||
fn to_surfman_context_attribute_flags(
|
fn to_surfman_context_attribute_flags(
|
||||||
&self,
|
&self,
|
||||||
webgl_version: WebGLVersion,
|
webgl_version: WebGLVersion,
|
||||||
api_type: gl::GlType,
|
api_type: GlType,
|
||||||
) -> ContextAttributeFlags {
|
) -> ContextAttributeFlags {
|
||||||
let mut flags = ContextAttributeFlags::empty();
|
let mut flags = ContextAttributeFlags::empty();
|
||||||
flags.set(ContextAttributeFlags::ALPHA, self.alpha);
|
flags.set(ContextAttributeFlags::ALPHA, self.alpha);
|
||||||
flags.set(ContextAttributeFlags::DEPTH, self.depth);
|
flags.set(ContextAttributeFlags::DEPTH, self.depth);
|
||||||
flags.set(ContextAttributeFlags::STENCIL, self.stencil);
|
flags.set(ContextAttributeFlags::STENCIL, self.stencil);
|
||||||
if (webgl_version == WebGLVersion::WebGL1) && (api_type == gl::GlType::Gl) {
|
if (webgl_version == WebGLVersion::WebGL1) && (api_type == GlType::Gl) {
|
||||||
flags.set(ContextAttributeFlags::COMPATIBILITY_PROFILE, true);
|
flags.set(ContextAttributeFlags::COMPATIBILITY_PROFILE, true);
|
||||||
}
|
}
|
||||||
flags
|
flags
|
||||||
|
|
|
@ -73,7 +73,6 @@ servo-media-gstreamer = { workspace = true, optional = true }
|
||||||
servo_config = { path = "../config" }
|
servo_config = { path = "../config" }
|
||||||
servo_geometry = { path = "../geometry" }
|
servo_geometry = { path = "../geometry" }
|
||||||
servo_url = { path = "../url" }
|
servo_url = { path = "../url" }
|
||||||
sparkle = { workspace = true }
|
|
||||||
style = { workspace = true }
|
style = { workspace = true }
|
||||||
style_traits = { workspace = true }
|
style_traits = { workspace = true }
|
||||||
surfman = { workspace = true }
|
surfman = { workspace = true }
|
||||||
|
|
|
@ -30,7 +30,7 @@ use bluetooth::BluetoothThreadFactory;
|
||||||
use bluetooth_traits::BluetoothRequest;
|
use bluetooth_traits::BluetoothRequest;
|
||||||
use canvas::canvas_paint_thread::CanvasPaintThread;
|
use canvas::canvas_paint_thread::CanvasPaintThread;
|
||||||
use canvas::WebGLComm;
|
use canvas::WebGLComm;
|
||||||
use canvas_traits::webgl::WebGLThreads;
|
use canvas_traits::webgl::{GlType, WebGLThreads};
|
||||||
use compositing::webview::UnknownWebView;
|
use compositing::webview::UnknownWebView;
|
||||||
use compositing::windowing::{EmbedderEvent, EmbedderMethods, WindowMethods};
|
use compositing::windowing::{EmbedderEvent, EmbedderMethods, WindowMethods};
|
||||||
use compositing::{CompositeTarget, IOCompositor, InitialCompositorState, ShutdownState};
|
use compositing::{CompositeTarget, IOCompositor, InitialCompositorState, ShutdownState};
|
||||||
|
@ -387,8 +387,8 @@ where
|
||||||
|
|
||||||
// Create the webgl thread
|
// Create the webgl thread
|
||||||
let gl_type = match webrender_gl.get_type() {
|
let gl_type = match webrender_gl.get_type() {
|
||||||
gleam::gl::GlType::Gl => sparkle::gl::GlType::Gl,
|
gleam::gl::GlType::Gl => GlType::Gl,
|
||||||
gleam::gl::GlType::Gles => sparkle::gl::GlType::Gles,
|
gleam::gl::GlType::Gles => GlType::Gles,
|
||||||
};
|
};
|
||||||
|
|
||||||
let (external_image_handlers, external_images) = WebrenderExternalImageHandlers::new();
|
let (external_image_handlers, external_images) = WebrenderExternalImageHandlers::new();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue