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:
Patrick Walton 2019-10-15 12:57:00 -05:00 committed by Alan Jeffrey
parent 48d918dcde
commit a358bca766
52 changed files with 1929 additions and 2195 deletions

View file

@ -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"]

View file

@ -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();

View file

@ -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();
}

View file

@ -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

View file

@ -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"]

View file

@ -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();
}

View file

@ -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"]