mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Add webgpu
feature flag (#34444)
* Move script gpu files into webgpu folder Signed-off-by: atbrakhi <atbrakhi@igalia.com> * Modify gpu webidls Signed-off-by: atbrakhi <atbrakhi@igalia.com> * move gpu realted webidl Signed-off-by: atbrakhi <atbrakhi@igalia.com> * add webgpu feature to script Signed-off-by: atbrakhi <atbrakhi@igalia.com> * add dummy implementation for gpucanvascontext Signed-off-by: atbrakhi <atbrakhi@igalia.com> * fmt Signed-off-by: atbrakhi <atbrakhi@igalia.com> * add skip-if CARGO_FEATURE_WEBGPU Signed-off-by: atbrakhi <atbrakhi@igalia.com> * Move NavigatorGPU and workerNavigator GPU to webgpu idl Signed-off-by: atbrakhi <atbrakhi@igalia.com> * fmt and cleanup Signed-off-by: atbrakhi <atbrakhi@igalia.com> * review fix Signed-off-by: atbrakhi <atbrakhi@igalia.com> * enable webgpu by default and also some fmt fix Signed-off-by: atbrakhi <atbrakhi@igalia.com> * Add pref back, fix imports, small cleanups Signed-off-by: atbrakhi <atbrakhi@igalia.com> --------- Signed-off-by: atbrakhi <atbrakhi@igalia.com>
This commit is contained in:
parent
bba3bc6ac2
commit
1591a3b506
52 changed files with 295 additions and 105 deletions
|
@ -26,6 +26,7 @@ use crate::dom::navigatorinfo;
|
|||
use crate::dom::permissions::Permissions;
|
||||
use crate::dom::pluginarray::PluginArray;
|
||||
use crate::dom::serviceworkercontainer::ServiceWorkerContainer;
|
||||
#[cfg(feature = "webgpu")]
|
||||
use crate::dom::webgpu::gpu::GPU;
|
||||
use crate::dom::window::Window;
|
||||
#[cfg(feature = "webxr")]
|
||||
|
@ -52,6 +53,7 @@ pub struct Navigator {
|
|||
gamepads: DomRefCell<Vec<MutNullableDom<Gamepad>>>,
|
||||
permissions: MutNullableDom<Permissions>,
|
||||
mediasession: MutNullableDom<MediaSession>,
|
||||
#[cfg(feature = "webgpu")]
|
||||
gpu: MutNullableDom<GPU>,
|
||||
/// <https://www.w3.org/TR/gamepad/#dfn-hasgamepadgesture>
|
||||
has_gamepad_gesture: Cell<bool>,
|
||||
|
@ -71,6 +73,7 @@ impl Navigator {
|
|||
gamepads: Default::default(),
|
||||
permissions: Default::default(),
|
||||
mediasession: Default::default(),
|
||||
#[cfg(feature = "webgpu")]
|
||||
gpu: Default::default(),
|
||||
has_gamepad_gesture: Cell::new(false),
|
||||
}
|
||||
|
@ -282,6 +285,7 @@ impl NavigatorMethods<crate::DomTypeHolder> for Navigator {
|
|||
}
|
||||
|
||||
// https://gpuweb.github.io/gpuweb/#dom-navigator-gpu
|
||||
#[cfg(feature = "webgpu")]
|
||||
fn Gpu(&self) -> DomRoot<GPU> {
|
||||
self.gpu.or_init(|| GPU::new(&self.global()))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue