aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
diff options
context:
space:
mode:
authorKunal Mohan <kunalmohan99@gmail.com>2020-06-04 19:28:25 +0530
committerKunal Mohan <kunalmohan99@gmail.com>2020-06-13 17:46:12 +0530
commit71401e0855c24e4cf86a754171f0162ae08d8e55 (patch)
tree34587c934aa127849ed943c44ec79f71ee904935 /components/canvas
parent73760ea59434971d24e6aac7e5fe3c79c1ba5bf6 (diff)
downloadservo-71401e0855c24e4cf86a754171f0162ae08d8e55.tar.gz
servo-71401e0855c24e4cf86a754171f0162ae08d8e55.zip
Implement GPUSwapChain and GPUCanvasContext and interface with Webrender
Diffstat (limited to 'components/canvas')
-rw-r--r--components/canvas/webgl_mode/inprocess.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/components/canvas/webgl_mode/inprocess.rs b/components/canvas/webgl_mode/inprocess.rs
index 97275dc19ab..c7b25b69d12 100644
--- a/components/canvas/webgl_mode/inprocess.rs
+++ b/components/canvas/webgl_mode/inprocess.rs
@@ -22,7 +22,9 @@ use surfman_chains::SwapChains;
use surfman_chains_api::SwapChainAPI;
use surfman_chains_api::SwapChainsAPI;
use webrender_surfman::WebrenderSurfman;
-use webrender_traits::{WebrenderExternalImageApi, WebrenderExternalImageRegistry};
+use webrender_traits::{
+ WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource,
+};
use webxr_api::SwapChainId as WebXRSwapChainId;
pub struct WebGLComm {
@@ -138,9 +140,10 @@ impl WebGLExternalImages {
}
impl WebrenderExternalImageApi for WebGLExternalImages {
- fn lock(&mut self, id: u64) -> (u32, Size2D<i32>) {
+ fn lock(&mut self, id: u64) -> (WebrenderImageSource, Size2D<i32>) {
let id = WebGLContextId(id);
- self.lock_swap_chain(id).unwrap_or_default()
+ let (texture_id, size) = self.lock_swap_chain(id).unwrap_or_default();
+ (WebrenderImageSource::TextureHandle(texture_id), size)
}
fn unlock(&mut self, id: u64) {