From 9031369c19f3274a1dee4e15e67c0c539d8aa976 Mon Sep 17 00:00:00 2001 From: Istvan Miklos Date: Mon, 3 Feb 2020 15:42:13 +0100 Subject: Initial implementation of GPUComputePipeline Added WebIDL bindings for `GPUComputePipeline`. Implemented the `createComputePipeline` function of `GPUDevice`. --- .../script/dom/webidls/GPUComputePipeline.webidl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 components/script/dom/webidls/GPUComputePipeline.webidl (limited to 'components/script/dom/webidls/GPUComputePipeline.webidl') diff --git a/components/script/dom/webidls/GPUComputePipeline.webidl b/components/script/dom/webidls/GPUComputePipeline.webidl new file mode 100644 index 00000000000..671c36ad351 --- /dev/null +++ b/components/script/dom/webidls/GPUComputePipeline.webidl @@ -0,0 +1,22 @@ +/* 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/#gpucomputepipeline +[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"] +interface GPUComputePipeline { +}; +GPUComputePipeline includes GPUObjectBase; + +dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase { + required GPUPipelineLayout layout; +}; + +dictionary GPUProgrammableStageDescriptor { + required GPUShaderModule module; + required DOMString entryPoint; +}; + +dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase { + required GPUProgrammableStageDescriptor computeStage; +}; -- cgit v1.2.3 From f082a507da2a09d579021f8b2f0930afdec74c24 Mon Sep 17 00:00:00 2001 From: Kunal Mohan Date: Wed, 19 Aug 2020 16:44:26 +0530 Subject: Implement GPUPipelineBase for implicit pipeline layouts --- components/script/dom/webidls/GPUComputePipeline.webidl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'components/script/dom/webidls/GPUComputePipeline.webidl') diff --git a/components/script/dom/webidls/GPUComputePipeline.webidl b/components/script/dom/webidls/GPUComputePipeline.webidl index 671c36ad351..a7599a13803 100644 --- a/components/script/dom/webidls/GPUComputePipeline.webidl +++ b/components/script/dom/webidls/GPUComputePipeline.webidl @@ -7,9 +7,10 @@ interface GPUComputePipeline { }; GPUComputePipeline includes GPUObjectBase; +GPUComputePipeline includes GPUPipelineBase; dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase { - required GPUPipelineLayout layout; + GPUPipelineLayout layout; }; dictionary GPUProgrammableStageDescriptor { @@ -20,3 +21,7 @@ dictionary GPUProgrammableStageDescriptor { dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase { required GPUProgrammableStageDescriptor computeStage; }; + +interface mixin GPUPipelineBase { + [Throws] GPUBindGroupLayout getBindGroupLayout(unsigned long index); +}; -- cgit v1.2.3