GPURenderPipeline:label 属性

实验性: 这是一项 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

安全上下文: 此功能仅在 安全上下文(HTTPS)中可用,在某些或所有 支持的浏览器 中。

label 属性是 GPURenderPipeline 接口的一个属性,它提供了一个标签,可用于标识对象,例如在 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 = "myrenderpipeline";

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

通过 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: "myrenderpipeline",
};

const renderPipeline = device.createRenderPipeline(pipelineDescriptor);

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

规范

规范
WebGPU
# dom-gpuobjectbase-label

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅