GPURenderPipeline: label 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

GPURenderPipeline 接口的 label 属性提供了一个可用于标识对象的标签,例如在 GPUError 消息或控制台警告中。

可以通过在传递给 GPUDevice.createRenderPipeline()GPUDevice.createRenderPipelineAsync() 调用的描述符对象中提供 label 属性来设置它,或者您可以直接在 GPURenderPipeline 对象上获取和设置它。

一个字符串。如果之前未按上述方式设置,则为空字符串。

示例

通过 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"

通过 GPUDevice.createRenderPipeline() 调用设置标签,然后通过 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"

规范

规范
WebGPU
# dom-gpuobjectbase-label

浏览器兼容性

另见