// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://gpuweb.github.io/gpuweb/
[
Exposed=(Window, Worker),
SecureContext
] interface GPUComputePassEncoder {
[NoAllocDirectCall] void setPipeline(GPUComputePipeline pipeline);
[NoAllocDirectCall] void dispatchWorkgroups(GPUSize32 workgroupCountX,
optional GPUSize32 workgroupCountY = 1,
optional GPUSize32 workgroupCountZ = 1);
[NoAllocDirectCall] void dispatchWorkgroupsIndirect(GPUBuffer indirectBuffer,
GPUSize64 indirectOffset);
[RaisesException, NoAllocDirectCall] void writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex);
[NoAllocDirectCall] void end();
};
GPUComputePassEncoder includes GPUObjectBase;
GPUComputePassEncoder includes GPUProgrammablePassEncoder;