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.