mirror of
https://github.com/servo/servo.git
synced 2025-08-14 18:05:36 +01:00
Initial implementation of GPUBindGroup for WebGPU
Added WebIDL bindings for `GPUBindGroup`. Implemented the `createBindGroup` function of `GPUDevice`
This commit is contained in:
parent
2b77a992db
commit
3cefc5f3a1
11 changed files with 227 additions and 9 deletions
31
components/script/dom/webidls/GPUBindGroup.webidl
Normal file
31
components/script/dom/webidls/GPUBindGroup.webidl
Normal file
|
@ -0,0 +1,31 @@
|
|||
/* 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 GPUBindGroup {
|
||||
};
|
||||
GPUBindGroup includes GPUObjectBase;
|
||||
|
||||
dictionary GPUBindGroupDescriptor : GPUObjectDescriptorBase {
|
||||
required GPUBindGroupLayout layout;
|
||||
required sequence<GPUBindGroupBindings> bindings;
|
||||
};
|
||||
|
||||
typedef /*(GPUSampler or GPUTextureView or*/ GPUBufferBindings/*)*/ GPUBindingResource;
|
||||
|
||||
// Note: Servo codegen doesn't like the name `GPUBindGroupBinding` because it's already occupied
|
||||
// dictionary GPUBindGroupBinding {
|
||||
dictionary GPUBindGroupBindings {
|
||||
required unsigned long binding;
|
||||
required GPUBindingResource resource;
|
||||
};
|
||||
|
||||
// Note: Servo codegen doesn't like the name `GPUBufferBinding` because it's already occupied
|
||||
// dictionary GPUBufferBinding {
|
||||
dictionary GPUBufferBindings {
|
||||
required GPUBuffer buffer;
|
||||
GPUBufferSize offset = 0;
|
||||
GPUBufferSize size;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue