Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUDevice
  4. createComputePipelineAsync()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

GPUDevice: createComputePipelineAsync() Methode

Limited availability

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

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

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DiecreateComputePipelineAsync() Methode desGPUDevice Interfaces gibt einPromise zurück, das mit einemGPUComputePipeline erfüllt wird. Diese kann die Compute-Shader-Stufe steuern und in einemGPUComputePassEncoder verwendet werden, sobald die Pipeline ohne Blockierungen einsatzbereit ist.

Hinweis:Es ist in der Regel vorzuziehen, diese Methode anstelle vonGPUDevice.createComputePipeline() zu verwenden, wann immer dies möglich ist, da sie verhindert, dass die Ausführung der GPU-Operationen durch die Pipeline-Kompilierung blockiert wird.

Syntax

js
createComputePipelineAsync(descriptor)

Parameter

descriptor

Siehe die Descriptor-Definition für die MethodeGPUDevice.createComputePipeline().

Rückgabewert

EinPromise, das mit einerGPUComputePipeline Objektinstanz erfüllt wird, wenn die erstellte Pipeline einsatzbereit ist, ohne zusätzliche Verzögerungen.

Validierung

Wenn die Pipelinenerstellung fehlschlägt und die resultierende Pipeline dadurch ungültig wird, wird das zurückgegebene Promise mit einemGPUPipelineError abgelehnt:

  • Wenn dies auf einen internen Fehler zurückzuführen ist, hat derGPUPipelineError einenreason von"internal".
  • Wenn dies auf einen Validierungsfehler zurückzuführen ist, hat derGPUPipelineError einenreason von"validation".

Ein Validierungsfehler kann auftreten, wenn eines der folgenden Dinge nicht zutrifft:

  • Die von dem imcompute-Eigenschaft referenziertenmodule verwendete Arbeitsgruppenspeichergröße ist kleiner oder gleich demmaxComputeWorkgroupStorageSize-Limit desGPUDevice.
  • Dasmodule verwendet eine Anzahl von Compute-Aufrufen pro Arbeitsgruppe, die kleiner oder gleich demmaxComputeInvocationsPerWorkgroup-Limit desGPUDevice ist.
  • Die Arbeitsgruppengröße desmodule ist kleiner oder gleich dem entsprechendenmaxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY odermaxComputeWorkgroupSizeZ-Limit desGPUDevice.
  • Wenn dieentryPoint-Eigenschaft weggelassen wird, enthält der Shader-Code eine einzelne Compute-Shader-Einstiegspunktfunktion, die der Browser als Standard-Einstiegspunkt verwenden kann.

Beispiele

Hinweis:DieWebGPU-Beispiele bieten viele weitere Beispiele.

Einfaches Beispiel

Das folgende Beispiel zeigt einen Prozess:

js
async function init() {  // …  const bindGroupLayout = device.createBindGroupLayout({    entries: [      {        binding: 0,        visibility: GPUShaderStage.COMPUTE,        buffer: {          type: "storage",        },      },    ],  });  const computePipeline = await device.createComputePipelineAsync({    layout: device.createPipelineLayout({      bindGroupLayouts: [bindGroupLayout],    }),    compute: {      module: shaderModule,      entryPoint: "main",    },  });  // …}

Spezifikationen

Specification
WebGPU
# dom-gpudevice-createcomputepipelineasync

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp