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

瀏覽器相容性

另見