The finish()
method of the GPURenderBundleEncoder
interface completes recording of the current render bundle command sequence, returning a GPURenderBundle
object that can be passed into a GPURenderPassEncoder.executeBundles()
call to execute those commands in a specific render pass.
A GPURenderBundle
object instance.
The following criteria must be met when calling finish()
, otherwise a GPUValidationError
is generated and the GPURenderBundleEncoder
becomes invalid:
- The
GPURenderBundleEncoder
is open (i.e. not already ended via a finish()
call). - The debug stack for the current render pass is empty (i.e. no render pass debug group is currently open, as opened by
pushDebugGroup()
).
const renderBundleEncoder = device.createRenderBundleEncoder({
colorFormats: [presentationFormat],
});
recordRenderPass(renderBundleEncoder);
const renderBundle = renderBundleEncoder.finish();
The above snippet is taken from the WebGPU Samples Animometer example.