mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Implement CPU rendering. Replace texture sharing with native OS surface sharing.
This commit is contained in:
parent
d5bd4bfdb7
commit
3d0bfa5040
25 changed files with 675 additions and 277 deletions
26
src/components/msg/platform/macos/surface.rs
Normal file
26
src/components/msg/platform/macos/surface.rs
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
//! Mac OS-specific implementation of cross-process surfaces. This uses `IOSurface`, introduced
|
||||
//! in Mac OS X 10.6 Snow Leopard.
|
||||
|
||||
use platform::surface::NativeSurfaceAzureMethods;
|
||||
|
||||
use azure::AzSkiaGrGLSharedSurfaceRef;
|
||||
use core_foundation::base::CFWrapper;
|
||||
use io_surface::IOSurface;
|
||||
use layers::platform::surface::NativeSurface;
|
||||
use std::cast;
|
||||
|
||||
impl NativeSurfaceAzureMethods for NativeSurface {
|
||||
fn from_azure_surface(surface: AzSkiaGrGLSharedSurfaceRef) -> NativeSurface {
|
||||
unsafe {
|
||||
let io_surface = IOSurface {
|
||||
contents: CFWrapper::wrap_owned(cast::transmute(surface)),
|
||||
};
|
||||
NativeSurface::from_io_surface(io_surface)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue