mirror of
https://github.com/servo/servo.git
synced 2025-09-30 16:49:16 +01:00
Use surfman for managing GL surfaces
Co-authored-by: Alan Jeffrey <ajeffrey@mozilla.com> Co-authored-by: Zakor Gyula <gyula.zakor@h-lab.eu> Co-authored-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
48d918dcde
commit
a358bca766
52 changed files with 1929 additions and 2195 deletions
|
@ -38,7 +38,7 @@ layout-2013 = ["libservo/layout-2013"]
|
|||
layout-2020 = ["libservo/layout-2020"]
|
||||
max_log_level = ["log/release_max_level_info"]
|
||||
native-bluetooth = ["libservo/native-bluetooth"]
|
||||
no_wgl = ["libservo/no_wgl"]
|
||||
no-wgl = ["libservo/no-wgl"]
|
||||
profilemozjs = ["libservo/profilemozjs"]
|
||||
webdriver = ["libservo/webdriver"]
|
||||
webgl_backtrace = ["libservo/webgl_backtrace"]
|
||||
|
|
|
@ -91,8 +91,7 @@ impl EmbedderMethods for EmbedderCallbacks {
|
|||
|
||||
fn register_webxr(&mut self, xr: &mut webxr_api::MainThreadRegistry) {
|
||||
if pref!(dom.webxr.test) {
|
||||
let gl = self.gl.clone();
|
||||
xr.register_mock(webxr::headless::HeadlessMockDiscovery::new(gl));
|
||||
xr.register_mock(webxr::headless::HeadlessMockDiscovery::new());
|
||||
} else if !opts::get().headless && pref!(dom.webxr.glwindow) {
|
||||
warn!("Creating test XR device");
|
||||
let gl = self.gl.clone();
|
||||
|
|
|
@ -188,9 +188,7 @@ impl Window {
|
|||
gl.clear(gl::COLOR_BUFFER_BIT);
|
||||
gl.finish();
|
||||
|
||||
let mut context = GlContext::Current(context);
|
||||
|
||||
context.make_not_current();
|
||||
let context = GlContext::Current(context);
|
||||
|
||||
debug!("Created window {:?}", context.window().id());
|
||||
let window = Window {
|
||||
|
@ -625,7 +623,7 @@ impl WindowMethods for Window {
|
|||
self.animation_state.set(state);
|
||||
}
|
||||
|
||||
fn prepare_for_composite(&self) {
|
||||
fn make_gl_context_current(&self) {
|
||||
self.gl_context.borrow_mut().make_current();
|
||||
}
|
||||
|
||||
|
|
|
@ -189,7 +189,7 @@ impl WindowMethods for Window {
|
|||
}
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "macos"))]
|
||||
fn prepare_for_composite(&self) {
|
||||
fn make_gl_context_current(&self) {
|
||||
unsafe {
|
||||
let mut buffer = self.context.buffer.borrow_mut();
|
||||
let ret = osmesa_sys::OSMesaMakeCurrent(
|
||||
|
@ -204,7 +204,7 @@ impl WindowMethods for Window {
|
|||
}
|
||||
|
||||
#[cfg(not(any(target_os = "linux", target_os = "macos")))]
|
||||
fn prepare_for_composite(&self) {}
|
||||
fn make_gl_context_current(&self) {}
|
||||
|
||||
fn get_gl_context(&self) -> MediaPlayerCtxt::GlContext {
|
||||
MediaPlayerCtxt::GlContext::Unknown
|
||||
|
|
|
@ -44,7 +44,7 @@ layout-2020 = ["libservo/layout-2020"]
|
|||
max_log_level = ["log/release_max_level_info"]
|
||||
native-bluetooth = ["libservo/native-bluetooth"]
|
||||
no_static_freetype = ["libservo/no_static_freetype"]
|
||||
no_wgl = ["libservo/no_wgl"]
|
||||
no-wgl = ["libservo/no-wgl"]
|
||||
oculusvr = ["libservo/oculusvr"]
|
||||
webdriver = ["libservo/webdriver"]
|
||||
uwp = ["libservo/uwp", "webxr", "webxr/openxr-api"]
|
||||
|
|
|
@ -646,7 +646,7 @@ impl EmbedderMethods for ServoEmbedderCallbacks {
|
|||
}
|
||||
|
||||
impl WindowMethods for ServoWindowCallbacks {
|
||||
fn prepare_for_composite(&self) {
|
||||
fn make_gl_context_current(&self) {
|
||||
debug!("WindowMethods::prepare_for_composite");
|
||||
self.host_callbacks.make_current();
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ layout-2013 = ["simpleservo/layout-2013"]
|
|||
layout-2020 = ["simpleservo/layout-2020"]
|
||||
max_log_level = ["simpleservo/max_log_level"]
|
||||
native-bluetooth = ["simpleservo/native-bluetooth"]
|
||||
no_wgl = ["simpleservo/no_wgl"]
|
||||
no-wgl = ["simpleservo/no-wgl"]
|
||||
oculusvr = ["simpleservo/oculusvr"]
|
||||
uwp = ["simpleservo/uwp"]
|
||||
webdriver = ["simpleservo/webdriver"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue