mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Implement GPUSwapChain and GPUCanvasContext and interface with Webrender
This commit is contained in:
parent
73760ea594
commit
71401e0855
28 changed files with 882 additions and 91 deletions
|
@ -1905,6 +1905,7 @@ impl Fragment {
|
|||
|
||||
let image_key = match canvas_fragment_info.source {
|
||||
CanvasFragmentSource::WebGL(image_key) => image_key,
|
||||
CanvasFragmentSource::WebGPU(image_key) => image_key,
|
||||
CanvasFragmentSource::Image(ref ipc_renderer) => match *ipc_renderer {
|
||||
Some(ref ipc_renderer) => {
|
||||
let ipc_renderer = ipc_renderer.lock().unwrap();
|
||||
|
|
|
@ -338,6 +338,7 @@ impl InlineAbsoluteFragmentInfo {
|
|||
pub enum CanvasFragmentSource {
|
||||
WebGL(webrender_api::ImageKey),
|
||||
Image(Option<Arc<Mutex<IpcSender<CanvasMsg>>>>),
|
||||
WebGPU(webrender_api::ImageKey),
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
|
@ -355,6 +356,7 @@ impl CanvasFragmentInfo {
|
|||
HTMLCanvasDataSource::Image(ipc_sender) => CanvasFragmentSource::Image(
|
||||
ipc_sender.map(|renderer| Arc::new(Mutex::new(renderer))),
|
||||
),
|
||||
HTMLCanvasDataSource::WebGPU(image_key) => CanvasFragmentSource::WebGPU(image_key),
|
||||
};
|
||||
|
||||
CanvasFragmentInfo {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue