GPURenderPipeline: label property

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 label property of the GPURenderPipeline interface provides a label that can be used to identify the object, for example in GPUError messages or console warnings.

This can be set by providing a label property in the descriptor object passed into the originating GPUDevice.createRenderPipeline() or GPUDevice.createRenderPipelineAsync() call, or you can get and set it directly on the GPURenderPipeline object.

Value

A string. If this has not been previously set as described above, it will be an empty string.

Examples

Setting and getting a label via GPURenderPipeline.label:

js
// ...

const pipelineDescriptor = {
  vertex: {
    module: shaderModule,
    entryPoint: "vertex_main",
    buffers: vertexBuffers,
  },
  fragment: {
    module: shaderModule,
    entryPoint: "fragment_main",
    targets: [
      {
        format: navigator.gpu.getPreferredCanvasFormat(),
      },
    ],
  },
  primitive: {
    topology: "triangle-list",
  },
  layout: "auto",
};

const renderPipeline = device.createRenderPipeline(pipelineDescriptor);

renderPipeline.label = "my_render_pipeline";

console.log(renderPipeline.label); // "my_render_pipeline"

Setting a label via a GPUDevice.createRenderPipeline() call, and then getting it via GPURenderPipeline.label:

js
// ...

const pipelineDescriptor = {
  vertex: {
    module: shaderModule,
    entryPoint: "vertex_main",
    buffers: vertexBuffers,
  },
  fragment: {
    module: shaderModule,
    entryPoint: "fragment_main",
    targets: [
      {
        format: navigator.gpu.getPreferredCanvasFormat(),
      },
    ],
  },
  primitive: {
    topology: "triangle-list",
  },
  layout: "auto",
  label: "my_render_pipeline",
};

const renderPipeline = device.createRenderPipeline(pipelineDescriptor);

console.log(renderPipeline.label); // "my_render_pipeline"

Specifications

Specification
WebGPU
# dom-gpuobjectbase-label

Browser compatibility

BCD tables only load in the browser

See also