Implement GPUComputePassEncoder functions

Implement the `dispatch`, `endPass`, `setBindGroup`, `setPipeline` functions of `GPUComputePassEncoder`.
This commit is contained in:
Istvan Miklos 2020-02-18 11:29:21 +01:00
parent 5597ccf57d
commit 170e9971ac
10 changed files with 109 additions and 83 deletions

View file

@ -5,11 +5,13 @@
// https://gpuweb.github.io/gpuweb/#gpucomputepassencoder
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
interface GPUComputePassEncoder {
// void setPipeline(GPUComputePipeline pipeline);
// void dispatch(unsigned long x, optional unsigned long y = 1, optional unsigned long z = 1);
void setPipeline(GPUComputePipeline pipeline);
void dispatch(GPUSize32 x, optional GPUSize32 y = 1, optional GPUSize32 z = 1);
// void dispatchIndirect(GPUBuffer indirectBuffer, GPUBufferSize indirectOffset);
// void endPass();
void endPass();
};
GPUComputePassEncoder includes GPUObjectBase;
GPUComputePassEncoder includes GPUProgrammablePassEncoder;
typedef [EnforceRange] unsigned long GPUSize32;