Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die dispatchWorkgroupsIndirect()-Methode der GPUComputePassEncoder-Schnittstelle dispatcht ein Gitter von Workgroups, das durch die Parameter eines GPUBuffer definiert ist, um die Arbeit auszuführen, die durch die aktuelle GPUComputePipeline (d.h. gesetzt über GPUComputePassEncoder.setPipeline()) verrichtet wird.
Ein GPUBuffer, der die X-, Y- und Z-Dimensionen des zu dispatchenden Workgroup-Gitters enthält. Der Buffer muss einen dicht gepackten Block von drei 32-Bit-unsigned-Integer-Werten enthalten, die die Dimensionen darstellen (insgesamt 12 Bytes), und in der gleichen Reihenfolge wie die Argumente für GPUComputePassEncoder.dispatchWorkgroups() angegeben sind. Zum Beispiel:
Der Offset, in Bytes, in indirectBuffer, wo die Dimensionsdaten beginnen.
Hinweis: Die X-, Y- und Z-Dimensionswerte, die an GPUComputePassEncoder.dispatchWorkgroups() und dispatchWorkgroupsIndirect() übergeben werden, sind die Anzahl der Workgroups, die für jede Dimension dispatcht werden sollen, nicht die Anzahl der Shader-Aktivierungen, die über jede Dimension ausgeführt werden sollen. Dies entspricht dem Verhalten moderner nativer GPU-APIs, unterscheidet sich jedoch vom Verhalten von OpenCL. Das bedeutet, wenn ein GPUShaderModule einen Einstiegspunkt mit @workgroup_size(4, 4) definiert und die Arbeit mit dem Aufruf dispatchWorkgroupsIndirect(indirectBuffer); dispatcht wird, wobei indirectBuffer X- und Y-Dimensionen von 8 und 8 spezifiziert, wird der Einstiegspunkt insgesamt 1024 Mal aufgerufen — ein 4 x 4-Workgroup wird 8 Mal entlang sowohl der X- als auch der Y-Achsen dispatcht. 4 * 4 * 8 * 8 = 1024.
Keiner (Undefined).
Die folgenden Kriterien müssen erfüllt sein, wenn dispatchWorkgroupsIndirect() aufgerufen wird, andernfalls wird ein GPUValidationError erzeugt und der GPUComputePassEncoder wird ungültig:
| WebGPU # dom-gpucomputepassencoder-dispatchworkgroupsindirect |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.