GPURenderBundleEncoder: finish() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
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.
Syntax
finish(descriptor)
Parameters
descriptor
Optional-
An object containing the following properties:
label
Optional-
A string providing a label that can be used to identify the object, for example in
GPUError
messages or console warnings.
Return value
A GPURenderBundle
object instance.
Validation
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 afinish()
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()
).
Examples
const renderBundleEncoder = device.createRenderBundleEncoder({
colorFormats: [presentationFormat],
});
recordRenderPass(renderBundleEncoder);
const renderBundle = renderBundleEncoder.finish();
The above snippet is taken from the WebGPU Samples Animometer example.
Specifications
Specification |
---|
WebGPU # dom-gpurenderbundleencoder-finish |
Browser compatibility
BCD tables only load in the browser
See also
- The WebGPU API