aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas/webgl_mode
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-06-28 18:08:08 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-07-04 10:26:48 +0200
commit0da87ad169ca33c8d2bce7a49de77d8821d5cac5 (patch)
treea66478bd948a693dbba187a27f7b713513bb6086 /components/canvas/webgl_mode
parentba9cf85fb3c1697998abab92488a0ab7ecdf431d (diff)
downloadservo-0da87ad169ca33c8d2bce7a49de77d8821d5cac5.tar.gz
servo-0da87ad169ca33c8d2bce7a49de77d8821d5cac5.zip
Introduce WebrenderExternalImageRegistry
Diffstat (limited to 'components/canvas/webgl_mode')
-rw-r--r--components/canvas/webgl_mode/inprocess.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/components/canvas/webgl_mode/inprocess.rs b/components/canvas/webgl_mode/inprocess.rs
index 6e53879c501..d0203f7498b 100644
--- a/components/canvas/webgl_mode/inprocess.rs
+++ b/components/canvas/webgl_mode/inprocess.rs
@@ -13,7 +13,8 @@ use fnv::FnvHashMap;
use gleam::gl;
use servo_config::pref;
use std::rc::Rc;
-use webrender_traits::WebrenderExternalImageApi;
+use std::sync::{Arc, Mutex};
+use webrender_traits::{WebrenderExternalImageApi, WebrenderExternalImageRegistry};
/// WebGL Threading API entry point that lives in the constellation.
pub struct WebGLThreads(WebGLSender<WebGLMsg>);
@@ -25,6 +26,7 @@ impl WebGLThreads {
webrender_gl: Rc<dyn gl::Gl>,
webrender_api_sender: webrender_api::RenderApiSender,
webvr_compositor: Option<Box<dyn WebVRRenderHandler>>,
+ external_images: Arc<Mutex<WebrenderExternalImageRegistry>>,
) -> (
WebGLThreads,
Box<dyn WebrenderExternalImageApi>,
@@ -35,6 +37,7 @@ impl WebGLThreads {
gl_factory,
webrender_api_sender,
webvr_compositor.map(|c| WebVRRenderWrapper(c)),
+ external_images,
);
let output_handler = if pref!(dom.webgl.dom_to_texture.enabled) {
Some(Box::new(OutputHandler::new(