mirror of
https://github.com/servo/servo.git
synced 2025-06-23 00:24:35 +01:00
* Allow noidl files in script/dom/webidls * Upgrade wgpu to 0.16 and refresh whole webgpu implementation * Update WebGPU test expectations * misc * MutNullableDom -> DomRefCell<Option<Dom for GPUTexture * Direct use of GPUTextureDescriptor * Remove config from GPUCanvasContext * misc * finally blue color * gpubuffer "handle" error * GPU object have non-null label * gpu limits and info * use buffer_size * fix warnings * Cleanup * device destroy * fallback adapter * mach update-webgpu write webgpu commit hash in file * Mising deps in CI for webgpu tests * Updated expectations * Fixups * early reject * DomRefCell<Option<Dom -> MutNullableDom for GPUTexture
31 lines
1.1 KiB
Text
31 lines
1.1 KiB
Text
/* 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://gpuweb.github.io/gpuweb/#gpucanvascontext
|
|
[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.
|
|
undefined configure(GPUCanvasConfiguration descriptor);
|
|
undefined unconfigure();
|
|
|
|
[Throws]
|
|
GPUTexture getCurrentTexture();
|
|
};
|
|
|
|
enum GPUCanvasAlphaMode {
|
|
"opaque",
|
|
"premultiplied",
|
|
};
|
|
|
|
dictionary GPUCanvasConfiguration {
|
|
required GPUDevice device;
|
|
required GPUTextureFormat format;
|
|
GPUTextureUsageFlags usage = 0x10; // GPUTextureUsage.RENDER_ATTACHMENT
|
|
sequence<GPUTextureFormat> viewFormats = [];
|
|
// PredefinedColorSpace colorSpace = "srgb"; // TODO
|
|
GPUCanvasAlphaMode alphaMode = "opaque";
|
|
};
|