mirror of
https://github.com/servo/servo.git
synced 2025-06-08 00:23:30 +00:00
fix: bring back connection method to fix WebGL texture error (#35358)
* Bring back connection method to fix texture error Signed-off-by: Wu Yuwei <yuweiwu@pm.me> * Print GL info in log instead Signed-off-by: Wu Yuwei <yuweiwu@pm.me> --------- Signed-off-by: Wu Yuwei <yuweiwu@pm.me>
This commit is contained in:
parent
7a6953bc08
commit
b5b69988cc
3 changed files with 15 additions and 1 deletions
|
@ -48,7 +48,9 @@ impl WebGLComm {
|
||||||
let webxr_init = crate::webxr::WebXRBridgeInit::new(sender.clone());
|
let webxr_init = crate::webxr::WebXRBridgeInit::new(sender.clone());
|
||||||
#[cfg(feature = "webxr")]
|
#[cfg(feature = "webxr")]
|
||||||
let webxr_layer_grand_manager = webxr_init.layer_grand_manager();
|
let webxr_layer_grand_manager = webxr_init.layer_grand_manager();
|
||||||
let connection = surfman::Connection::new().expect("Failed to create connection");
|
let connection = rendering_context
|
||||||
|
.connection()
|
||||||
|
.expect("Failed to get connection");
|
||||||
let adapter = connection
|
let adapter = connection
|
||||||
.create_adapter()
|
.create_adapter()
|
||||||
.expect("Failed to create adapter");
|
.expect("Failed to create adapter");
|
||||||
|
|
|
@ -408,6 +408,9 @@ impl IOCompositor {
|
||||||
version_string,
|
version_string,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let gl = &compositor.webrender_gl;
|
||||||
|
info!("Running on {}", gl.get_string(gleam::gl::RENDERER));
|
||||||
|
info!("OpenGL Version {}", gl.get_string(gleam::gl::VERSION));
|
||||||
compositor.assert_gl_framebuffer_complete();
|
compositor.assert_gl_framebuffer_complete();
|
||||||
compositor
|
compositor
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,11 @@ pub trait RenderingContext {
|
||||||
fn destroy_texture(&self, _surface_texture: SurfaceTexture) -> Option<Surface> {
|
fn destroy_texture(&self, _surface_texture: SurfaceTexture) -> Option<Surface> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The connection to the display server for WebGL. Default to `None`.
|
||||||
|
fn connection(&self) -> Option<Connection> {
|
||||||
|
None
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A rendering context that uses the Surfman library to create and manage
|
/// A rendering context that uses the Surfman library to create and manage
|
||||||
|
@ -223,6 +228,10 @@ impl RenderingContext for SurfmanRenderingContext {
|
||||||
fn destroy_texture(&self, surface_texture: SurfaceTexture) -> Option<Surface> {
|
fn destroy_texture(&self, surface_texture: SurfaceTexture) -> Option<Surface> {
|
||||||
self.destroy_surface_texture(surface_texture).ok()
|
self.destroy_surface_texture(surface_texture).ok()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn connection(&self) -> Option<Connection> {
|
||||||
|
Some(self.connection())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SurfmanRenderingContext {
|
impl SurfmanRenderingContext {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue