ID3D11DeviceContext::D ispatch-Methode (d3d11.h)

Führen Sie eine Befehlsliste aus einer Threadgruppe aus.

Syntax

void Dispatch(
  [in] UINT ThreadGroupCountX,
  [in] UINT ThreadGroupCountY,
  [in] UINT ThreadGroupCountZ
);

Parameter

[in] ThreadGroupCountX

Typ: UINT

Die Anzahl der Gruppen, die in x-Richtung verteilt werden. ThreadGroupCountX muss kleiner oder gleich D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) sein.

[in] ThreadGroupCountY

Typ: UINT

Die Anzahl der Gruppen, die in y-Richtung verteilt werden. ThreadGroupCountY muss kleiner oder gleich D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) sein.

[in] ThreadGroupCountZ

Typ: UINT

Die Anzahl der Gruppen, die in z-Richtung verteilt werden. ThreadGroupCountZ muss kleiner oder gleich D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) sein. In Featureebene 10 muss der Wert für ThreadGroupCountZ 1 sein.

Rückgabewert

Keine

Bemerkungen

Sie rufen die Dispatch-Methode auf, um Befehle in einem Compute-Shader auszuführen. Ein Compute-Shader kann in vielen Threads parallel innerhalb einer Threadgruppe ausgeführt werden. Indizieren Sie einen bestimmten Thread innerhalb einer Threadgruppe mithilfe eines 3D-Vektors, der von (x,y,z) angegeben wird.

Gehen Sie in der folgenden Abbildung von einer Threadgruppe mit 50 Threads aus, deren Größe durch (5,5,2) angegeben wird. Ein einzelner Thread wird aus einer Threadgruppe mit 50 Threads identifiziert, wobei der Vektor (4,1,1) verwendet wird.

Abbildung eines einzelnen Threads in einer Threadgruppe mit 50 Threads

Die folgende Abbildung zeigt die Beziehung zwischen den parametern, die an ID3D11DeviceContext::D ispatch, Dispatch(5,3,2), den im numthreads-Attribut angegebenen Werten, numthreads(10,8,3) und Werten, die für die threadbezogenen Systemwerte (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID) an den Compute-Shader übergeben werden.

Abbildung der Beziehung zwischen Dispatch, Threadgruppen und Threads

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext