mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Add WebRender integration to Servo.
WebRender is an experimental GPU accelerated rendering backend for Servo. The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used). WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!
This commit is contained in:
parent
f7f0eea470
commit
c0531c312f
75 changed files with 2869 additions and 888 deletions
|
@ -26,6 +26,8 @@ use url::Url;
|
|||
use windowing::{WindowEvent, WindowMethods};
|
||||
pub use constellation::SendableFrameTree;
|
||||
pub use windowing;
|
||||
use webrender;
|
||||
use webrender_traits;
|
||||
|
||||
/// Sends messages to the compositor. This is a trait supplied by the port because the method used
|
||||
/// to communicate with the compositor may have to kick OS event loops awake, communicate cross-
|
||||
|
@ -100,6 +102,16 @@ pub fn run_script_listener_thread(compositor_proxy: Box<CompositorProxy + 'stati
|
|||
}
|
||||
}
|
||||
|
||||
pub trait RenderListener {
|
||||
fn recomposite(&mut self);
|
||||
}
|
||||
|
||||
impl RenderListener for Box<CompositorProxy + 'static> {
|
||||
fn recomposite(&mut self) {
|
||||
self.send(Msg::RecompositeAfterScroll);
|
||||
}
|
||||
}
|
||||
|
||||
/// Implementation of the abstract `PaintListener` interface.
|
||||
impl PaintListener for Box<CompositorProxy + 'static + Send> {
|
||||
fn native_display(&mut self) -> Option<NativeDisplay> {
|
||||
|
@ -301,4 +313,7 @@ pub struct InitialCompositorState {
|
|||
pub time_profiler_chan: time::ProfilerChan,
|
||||
/// A channel to the memory profiler thread.
|
||||
pub mem_profiler_chan: mem::ProfilerChan,
|
||||
/// Instance of webrender API if enabled
|
||||
pub webrender: Option<webrender::Renderer>,
|
||||
pub webrender_api_sender: Option<webrender_traits::RenderApiSender>,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue