diff options
author | Kunal Mohan <kunalmohan99@gmail.com> | 2020-06-04 19:28:25 +0530 |
---|---|---|
committer | Kunal Mohan <kunalmohan99@gmail.com> | 2020-06-13 17:46:12 +0530 |
commit | 71401e0855c24e4cf86a754171f0162ae08d8e55 (patch) | |
tree | 34587c934aa127849ed943c44ec79f71ee904935 /components/canvas | |
parent | 73760ea59434971d24e6aac7e5fe3c79c1ba5bf6 (diff) | |
download | servo-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.rs | 9 |
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) { |