mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
webgpu: Add a webgpu_traits
crate (#36320)
This breaks the `script_traits` dependency on `webgpu`. In general, the `traits` crates shouldn't depend on Servo non-`traits` crates. This is necessary to move "script to constellation" messages to the `constellation_traits` crate, making it the entire API for talking to the constellation. This will break a circular dependency when that happens. Testing: Successfully building is enough of a test for this one as it is mainly moving types around. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
df9efde1c3
commit
0d693114ad
52 changed files with 640 additions and 568 deletions
|
@ -158,7 +158,7 @@ use style_traits::CSSPixel;
|
|||
#[cfg(feature = "webgpu")]
|
||||
use webgpu::swapchain::WGPUImageMap;
|
||||
#[cfg(feature = "webgpu")]
|
||||
use webgpu::{self, WebGPU, WebGPURequest};
|
||||
use webgpu_traits::{WebGPU, WebGPURequest};
|
||||
#[cfg(feature = "webgpu")]
|
||||
use webrender::RenderApi;
|
||||
use webrender::RenderApiSender;
|
||||
|
@ -1894,6 +1894,8 @@ where
|
|||
browsing_context_id: BrowsingContextId,
|
||||
request: FromScriptMsg,
|
||||
) {
|
||||
use webgpu::start_webgpu_thread;
|
||||
|
||||
let browsing_context_group_id = match self.browsing_contexts.get(&browsing_context_id) {
|
||||
Some(bc) => &bc.bc_group_id,
|
||||
None => return warn!("Browsing context not found"),
|
||||
|
@ -1915,7 +1917,7 @@ where
|
|||
return warn!("Browsing context group not found");
|
||||
};
|
||||
let webgpu_chan = match browsing_context_group.webgpus.entry(host) {
|
||||
Entry::Vacant(v) => WebGPU::new(
|
||||
Entry::Vacant(v) => start_webgpu_thread(
|
||||
self.webrender_wgpu.webrender_api.create_sender(),
|
||||
self.webrender_document,
|
||||
self.webrender_wgpu.webrender_external_images.clone(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue