GPUComputePipeline: getBindGroupLayout()-Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die getBindGroupLayout()-Methode der GPUComputePipeline-Schnittstelle gibt das GPUBindGroupLayout-Objekt der Pipeline mit dem angegebenen Index zurück (d. h. enthalten im ursprünglichen Aufruf von GPUDevice.createComputePipeline() oder GPUDevice.createComputePipelineAsync()).

Wenn die GPUComputePipeline mit layout: "auto" erstellt wurde, ist diese Methode der einzige Weg, um die von der Pipeline generierten GPUBindGroupLayouts abzurufen.

Syntax

js
getBindGroupLayout(index)

Parameter

index

Eine Zahl, die den Index des zurückzugebenden GPUBindGroupLayout darstellt.

Rückgabewert

Eine Instanz des GPUBindGroupLayout-Objekts.

Validierung

Die folgenden Kriterien müssen beim Aufruf von getBindGroupLayout() erfüllt sein, andernfalls wird ein GPUValidationError erzeugt und ein ungültiges GPUBindGroupLayout-Objekt zurückgegeben:

  • index ist kleiner als die Anzahl der im Pipeline-Layout verwendeten GPUBindGroupLayout-Objekte.

Beispiele

Hinweis: Sie können vollständige funktionierende Beispiele mit getBindGroupLayout() in Aktion in den WebGPU-Beispielen sehen.

js
// ...

// Create a compute pipeline using layout: "auto" to automatically generate
// appropriate bind group layouts
const computePipeline = device.createComputePipeline({
  layout: "auto",
  compute: {
    module: shaderModule,
    entryPoint: "main",
  },
});

// Create a bind group with the auto-generated layout from the compute pipeline
const computeBindGroup = device.createBindGroup({
  layout: computePipeline.getBindGroupLayout(0),
  entries: [
    {
      binding: 0,
      resource: { buffer: storageBuffer },
    },
  ],
});

// ...

Spezifikationen

Specification
WebGPU
# dom-gpupipelinebase-getbindgrouplayout

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch