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
68 lines
1.7 KiB
Text
68 lines
1.7 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/#gpubindgrouplayout
|
|
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
|
interface GPUBindGroupLayout {
|
|
};
|
|
GPUBindGroupLayout includes GPUObjectBase;
|
|
|
|
dictionary GPUBindGroupLayoutDescriptor : GPUObjectDescriptorBase {
|
|
required sequence<GPUBindGroupLayoutEntry> entries;
|
|
};
|
|
|
|
dictionary GPUBindGroupLayoutEntry {
|
|
required GPUIndex32 binding;
|
|
required GPUShaderStageFlags visibility;
|
|
GPUBufferBindingLayout buffer;
|
|
GPUSamplerBindingLayout sampler;
|
|
GPUTextureBindingLayout texture;
|
|
GPUStorageTextureBindingLayout storageTexture;
|
|
};
|
|
|
|
enum GPUBufferBindingType {
|
|
"uniform",
|
|
"storage",
|
|
"read-only-storage",
|
|
};
|
|
|
|
dictionary GPUBufferBindingLayout {
|
|
GPUBufferBindingType type = "uniform";
|
|
boolean hasDynamicOffset = false;
|
|
GPUSize64 minBindingSize = 0;
|
|
};
|
|
|
|
enum GPUSamplerBindingType {
|
|
"filtering",
|
|
"non-filtering",
|
|
"comparison",
|
|
};
|
|
|
|
dictionary GPUSamplerBindingLayout {
|
|
GPUSamplerBindingType type = "filtering";
|
|
};
|
|
|
|
enum GPUTextureSampleType {
|
|
"float",
|
|
"unfilterable-float",
|
|
"depth",
|
|
"sint",
|
|
"uint",
|
|
};
|
|
|
|
dictionary GPUTextureBindingLayout {
|
|
GPUTextureSampleType sampleType = "float";
|
|
GPUTextureViewDimension viewDimension = "2d";
|
|
boolean multisampled = false;
|
|
};
|
|
|
|
enum GPUStorageTextureAccess {
|
|
"write-only",
|
|
};
|
|
|
|
dictionary GPUStorageTextureBindingLayout {
|
|
GPUStorageTextureAccess access = "write-only";
|
|
required GPUTextureFormat format;
|
|
GPUTextureViewDimension viewDimension = "2d";
|
|
};
|