mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
webgl: Replace webrender API with compositor API for images handling (#37714)
Like in #37713, instead of updating images directly with webrender api we use the compositor api. We still keep webrender api available in webgl, because that's where we do shutdown, due to GL. Testing: Existing WPT tests Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
b9f9abee91
commit
03dbf9b6f7
3 changed files with 30 additions and 29 deletions
|
@ -9,7 +9,8 @@ use std::sync::{Arc, Mutex};
|
|||
use canvas_traits::webgl::{GlType, WebGLContextId, WebGLMsg, WebGLThreads, webgl_channel};
|
||||
use compositing_traits::rendering_context::RenderingContext;
|
||||
use compositing_traits::{
|
||||
WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource,
|
||||
CrossProcessCompositorApi, WebrenderExternalImageApi, WebrenderExternalImageRegistry,
|
||||
WebrenderImageSource,
|
||||
};
|
||||
use euclid::default::Size2D;
|
||||
use fnv::FnvHashMap;
|
||||
|
@ -17,7 +18,6 @@ use log::debug;
|
|||
use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
|
||||
use surfman::{Device, SurfaceTexture};
|
||||
use webrender::RenderApiSender;
|
||||
use webrender_api::DocumentId;
|
||||
#[cfg(feature = "webxr")]
|
||||
use webxr::SurfmanGL as WebXRSurfman;
|
||||
#[cfg(feature = "webxr")]
|
||||
|
@ -36,8 +36,8 @@ impl WebGLComm {
|
|||
/// Creates a new `WebGLComm` object.
|
||||
pub fn new(
|
||||
rendering_context: Rc<dyn RenderingContext>,
|
||||
compositor_api: CrossProcessCompositorApi,
|
||||
webrender_api_sender: RenderApiSender,
|
||||
webrender_doc: DocumentId,
|
||||
external_images: Arc<Mutex<WebrenderExternalImageRegistry>>,
|
||||
api_type: GlType,
|
||||
) -> WebGLComm {
|
||||
|
@ -57,8 +57,8 @@ impl WebGLComm {
|
|||
|
||||
// This implementation creates a single `WebGLThread` for all the pipelines.
|
||||
let init = WebGLThreadInit {
|
||||
compositor_api,
|
||||
webrender_api_sender,
|
||||
webrender_doc,
|
||||
external_images,
|
||||
sender: sender.clone(),
|
||||
receiver,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue