GPUComputePipeline
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only insecure contexts (HTTPS), in some or allsupporting browsers.
Note: This feature is available inWeb Workers.
TheGPUComputePipeline interface of theWebGPU API represents a pipeline that controls the compute shader stage and can be used in aGPUComputePassEncoder.
AGPUComputePipeline object instance can be created using theGPUDevice.createComputePipeline() orGPUDevice.createComputePipelineAsync() methods.
In this article
Instance properties
Instance methods
getBindGroupLayout()Returns the pipeline's
GPUBindGroupLayoutobject with the given index (i.e., included in the originatingGPUDevice.createComputePipeline()orGPUDevice.createComputePipelineAsync()call's pipeline layout).
Examples
Note:TheWebGPU samples feature many more examples.
Basic example
Ourbasic compute demo shows a process of:
- Creating a bind group layout with
GPUDevice.createBindGroupLayout(). - Feeding the
bindGroupLayoutintoGPUDevice.createPipelineLayout()to create aGPUPipelineLayout. - Using that value immediately in a
createComputePipeline()call to create aGPUComputePipeline.
// …const bindGroupLayout = device.createBindGroupLayout({ entries: [ { binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: "storage", }, }, ],});const computePipeline = device.createComputePipeline({ layout: device.createPipelineLayout({ bindGroupLayouts: [bindGroupLayout], }), compute: { module: shaderModule, entryPoint: "main", },});// …Specifications
| Specification |
|---|
| WebGPU> # gpucomputepipeline> |
Browser compatibility
See also
- TheWebGPU API