GPUCommandEncoder: pushDebugGroup() 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 pushDebugGroup() method of the GPUCommandEncoder interface 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.

This could be used for telemetry, or may be utilized in GPUError messages, browser dev tools, or other services in the future to help with debugging.

Syntax

js
pushDebugGroup(groupLabel)

Parameters

groupLabel

A string representing the label for the debug group.

Return value

None (Undefined).

Examples

js
// ...

commandEncoder.pushDebugGroup("my_group_marker"); // Start labeled debug group

const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);

passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.draw(3);

passEncoder.end();

commandEncoder.popDebugGroup(); // End labeled debug group

// ...

Specifications

Specification
WebGPU
# dom-gpudebugcommandsmixin-pushdebuggroup

Browser compatibility

BCD tables only load in the browser

See also