aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_traits/script_msg.rs
diff options
context:
space:
mode:
authorZakor Gyula <gyula.zakor@h-lab.eu>2019-11-20 09:03:10 +0100
committerZakor Gyula <gyula.zakor@h-lab.eu>2020-01-13 10:39:23 +0100
commita751b1c3d7400ce7b2b8ebbeee076e3eb1a2c106 (patch)
tree841d9d9dde050660bc47a5c532fd64f86a222e7c /components/script_traits/script_msg.rs
parentf8c957dc1b712dd24e65d84fbfaed14b6cfcecdc (diff)
downloadservo-a751b1c3d7400ce7b2b8ebbeee076e3eb1a2c106.tar.gz
servo-a751b1c3d7400ce7b2b8ebbeee076e3eb1a2c106.zip
Only start WebGPU thread if an adapter is requested
Diffstat (limited to 'components/script_traits/script_msg.rs')
-rw-r--r--components/script_traits/script_msg.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/components/script_traits/script_msg.rs b/components/script_traits/script_msg.rs
index 1eccc794398..8a04b59d57d 100644
--- a/components/script_traits/script_msg.rs
+++ b/components/script_traits/script_msg.rs
@@ -30,10 +30,12 @@ use net_traits::storage_thread::StorageType;
use net_traits::CoreResourceMsg;
use servo_url::ImmutableOrigin;
use servo_url::ServoUrl;
+use smallvec::SmallVec;
use std::collections::{HashMap, VecDeque};
use std::fmt;
use style_traits::viewport::ViewportConstraints;
use style_traits::CSSPixel;
+use webgpu::{wgpu, WebGPUResponseResult};
use webrender_api::units::{DeviceIntPoint, DeviceIntSize};
/// A particular iframe's size, associated with a browsing context.
@@ -257,6 +259,12 @@ pub enum ScriptMsg {
/// Notifies the constellation about media session events
/// (i.e. when there is metadata for the active media session, playback state changes...).
MediaSessionEvent(PipelineId, MediaSessionEvent),
+ /// Create a WebGPU Adapter instance
+ RequestAdapter(
+ IpcSender<WebGPUResponseResult>,
+ wgpu::instance::RequestAdapterOptions,
+ SmallVec<[wgpu::id::AdapterId; 4]>,
+ ),
}
impl fmt::Debug for ScriptMsg {
@@ -309,6 +317,7 @@ impl fmt::Debug for ScriptMsg {
GetScreenSize(..) => "GetScreenSize",
GetScreenAvailSize(..) => "GetScreenAvailSize",
MediaSessionEvent(..) => "MediaSessionEvent",
+ RequestAdapter(..) => "RequestAdapter",
};
write!(formatter, "ScriptMsg::{}", variant)
}