Get to know MDN better
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 GPUCommandEncoder interface of the WebGPU API represents an encoder that collects a sequence of GPU commands to be issued to the GPU.
A GPUCommandEncoder object instance is created via the GPUDevice.createCommandEncoder() property.
A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.
Starts encoding a compute pass, returning a GPUComputePassEncoder that can be used to control computation.
beginRenderPass()Starts encoding a render pass, returning a GPURenderPassEncoder that can be used to control rendering.
clearBuffer()Encodes a command that fills a region of a GPUBuffer with zeroes.
copyBufferToBuffer()Encodes a command that copies data from one GPUBuffer to another.
copyBufferToTexture()Encodes a command that copies data from a GPUBuffer to a GPUTexture.
copyTextureToBuffer()Encodes a command that copies data from a GPUTexture to a GPUBuffer.
copyTextureToTexture()Encodes a command that copies data from one GPUTexture to another.
finish()Completes recording of the command sequence encoded on this GPUCommandEncoder, returning a corresponding GPUCommandBuffer.
insertDebugMarker()Marks a specific point in a series of encoded commands with a label.
popDebugGroup()Ends a debug group, which is begun with a pushDebugGroup() call.
pushDebugGroup()Begins a debug group, which is marked with a specified label, and will contain all subsequent encoded commands up until a popDebugGroup() method is invoked.
resolveQuerySet()Encodes a command that resolves a GPUQuerySet, copying the results into a specified GPUBuffer.
writeTimestamp()Encodes a command that writes a timestamp into a GPUQuerySet once the previous commands recorded into the same queued GPUCommandBuffer have been executed by the GPU.
In our basic render demo, several commands are recorded via a GPUCommandEncoder:
The commands encoded by the GPUCommandEncoder are recorded into a GPUCommandBuffer using the GPUCommandEncoder.finish() method. The command buffer is then passed into the queue via a submit() call, ready to be processed by the GPU.
Note: Study the WebGPU samples to find more command encoding examples.
| WebGPU # gpucommandencoder |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Jun 24, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.