mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01: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
|
@ -13,6 +13,7 @@ use crate::dom::bindings::utils::to_frozen_array;
|
|||
use crate::dom::navigator::hardware_concurrency;
|
||||
use crate::dom::navigatorinfo;
|
||||
use crate::dom::permissions::Permissions;
|
||||
#[cfg(feature = "webgpu")]
|
||||
use crate::dom::webgpu::gpu::GPU;
|
||||
use crate::dom::workerglobalscope::WorkerGlobalScope;
|
||||
use crate::script_runtime::JSContext;
|
||||
|
@ -22,6 +23,7 @@ use crate::script_runtime::JSContext;
|
|||
pub struct WorkerNavigator {
|
||||
reflector_: Reflector,
|
||||
permissions: MutNullableDom<Permissions>,
|
||||
#[cfg(feature = "webgpu")]
|
||||
gpu: MutNullableDom<GPU>,
|
||||
}
|
||||
|
||||
|
@ -30,6 +32,7 @@ impl WorkerNavigator {
|
|||
WorkerNavigator {
|
||||
reflector_: Reflector::new(),
|
||||
permissions: Default::default(),
|
||||
#[cfg(feature = "webgpu")]
|
||||
gpu: Default::default(),
|
||||
}
|
||||
}
|
||||
|
@ -108,6 +111,7 @@ impl WorkerNavigatorMethods<crate::DomTypeHolder> for WorkerNavigator {
|
|||
}
|
||||
|
||||
// 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