GPUComputePipeline
GPUComputePipeline
接口是 WebGPU API 的一部分,它表示一个控制计算着色器阶段的管道,可以在 GPUComputePassEncoder
中使用。
可以使用 GPUDevice.createComputePipeline()
或 GPUDevice.createComputePipelineAsync()
方法创建 GPUComputePipeline
对象实例。
实例属性
实例方法
getBindGroupLayout()
实验性-
返回管道在给定索引处的
GPUBindGroupLayout
对象(即包含在原始的GPUDevice.createComputePipeline()
或GPUDevice.createComputePipelineAsync()
调用中的管道布局中)。
示例
注意: WebGPU 示例 包含更多示例。
基本示例
我们的 基本计算演示 展示了一个流程:
- 使用
GPUDevice.createBindGroupLayout()
创建绑定组布局。 - 将
bindGroupLayout
传递给GPUDevice.createPipelineLayout()
以创建GPUPipelineLayout
。 - 在
createComputePipeline()
调用中立即使用该值以创建GPUComputePipeline
。
js
// ...
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",
},
});
// ...
规范
规范 |
---|
WebGPU # gpucomputepipeline |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
- The WebGPU API