mirror of
https://github.com/servo/servo.git
synced 2025-08-08 15:05:35 +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
9
components/script/dom/webidls/GPUCanvasContext.webidl
Normal file
9
components/script/dom/webidls/GPUCanvasContext.webidl
Normal file
|
@ -0,0 +1,9 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#htmlcanvaselement
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
interface GPUCanvasContext {
|
||||
readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
|
||||
};
|
|
@ -14,7 +14,6 @@ Navigator includes NavigatorLanguage;
|
|||
//Navigator includes NavigatorStorageUtils;
|
||||
Navigator includes NavigatorPlugins;
|
||||
Navigator includes NavigatorCookies;
|
||||
Navigator includes NavigatorGPU;
|
||||
Navigator includes NavigatorConcurrentHardware;
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#navigatorid
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// skip-unless CARGO_FEATURE_WEBGPU
|
||||
|
||||
// Source: WebGPU (https://gpuweb.github.io/gpuweb/)
|
||||
// Direct source: https://github.com/w3c/webref/blob/curated/ed/idl/webgpu.idl
|
||||
|
||||
|
@ -66,10 +68,9 @@ interface GPUAdapterInfo {
|
|||
interface mixin NavigatorGPU {
|
||||
[SameObject, Pref="dom.webgpu.enabled", Exposed=(Window /* ,DedicatedWorker */)] readonly attribute GPU gpu;
|
||||
};
|
||||
// NOTE: see `Navigator.webidl`
|
||||
// Navigator includes NavigatorGPU;
|
||||
// NOTE: see `WorkerNavigator.webidl`
|
||||
// WorkerNavigator includes NavigatorGPU;
|
||||
|
||||
Navigator includes NavigatorGPU;
|
||||
WorkerNavigator includes NavigatorGPU;
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
interface GPU {
|
||||
|
@ -1137,17 +1138,12 @@ enum GPUQueryType {
|
|||
"timestamp"
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
interface GPUCanvasContext {
|
||||
readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
|
||||
|
||||
// Calling configure() a second time invalidates the previous one,
|
||||
// and all of the textures it's produced.
|
||||
[Throws]
|
||||
partial interface GPUCanvasContext {
|
||||
[Throws, Pref="dom.webgpu.enabled"]
|
||||
undefined configure(GPUCanvasConfiguration descriptor);
|
||||
undefined unconfigure();
|
||||
|
||||
[Throws]
|
||||
[Pref="dom.webgpu.enabled"] undefined unconfigure();
|
||||
[Throws, Pref="dom.webgpu.enabled"]
|
||||
GPUTexture getCurrentTexture();
|
||||
};
|
||||
|
||||
|
|
|
@ -17,7 +17,3 @@ partial interface WorkerNavigator {
|
|||
[Pref="dom.permissions.enabled"] readonly attribute Permissions permissions;
|
||||
};
|
||||
|
||||
[Exposed=DedicatedWorker]
|
||||
partial interface WorkerNavigator {
|
||||
[SameObject, Pref="dom.webgpu.enabled"] readonly attribute GPU gpu;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue