PFND3D11DDI_DISPATCH Rückruffunktion (d3d10umddi.h)

Die Dispatch-Funktion führt den Compute-Shader aus.

Syntax

PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;

void Pfnd3d11ddiDispatch(
  D3D10DDI_HDEVICE unnamedParam1,
  UINT unnamedParam2,
  UINT unnamedParam3,
  UINT unnamedParam4
)
{...}

Parameter

unnamedParam1

hDevice [in]

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

ThreadGroupCountX [in]

Die Größe der x-Dimension des Threadgruppenrasters in Threadgruppen. Die maximale Größe ist 65535.

unnamedParam3

ThreadGroupCountY [in]

Die Größe der y-Dimension des Threadgruppenrasters in Threadgruppen. Die maximale Größe ist 65535.

unnamedParam4

ThreadGroupCountZ [in]

Die Größe der z-Dimension des Threadgruppenrasters in Threadgruppen. Die maximale Größe ist 65535.

Rückgabewert

Keine

Bemerkungen

Der Treiber kann die Rückruffunktion pfnSetErrorCb verwenden, um einen Fehlercode festzulegen.

Die Direct3D-Runtime ruft die Dispatch-Funktion des Treibers auf dem Anzeigegerät auf, um den Compute-Shader auszuführen. Ein kompilierter Compute-Shader definiert den Satz von Anweisungen, die pro Thread ausgeführt werden sollen, und die Anzahl der Threads, die pro Gruppe ausgeführt werden sollen. Die Threadgruppenparameter (ThreadGroupCountX, ThreadGroupCountY und ThreadGroupCountZ) geben an, wie viele Threadgruppen ausgeführt werden sollen. Jede Threadgruppe enthält die gleiche Anzahl von Threads, wie sie vom kompilierten Compute-Shader definiert wird. Die Threadgruppen sind in einem dreidimensionalen Raster organisiert. Die Gesamtanzahl von Threadgruppen, die der kompilierte Compute-Shader ausführt, wird durch die folgende Berechnung bestimmt:

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

Insbesondere, wenn einer der Werte in den Threadgruppenparametern 0 ist, macht die Dispatch-Funktion nichts.

Für den Treiber sollte kein Fehler auftreten, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber in einem Aufruf der PfnSetErrorCb-Funktion einen Fehler mit Ausnahme von D3DDDIERR_DEVICEREMOVED übergibt, ermittelt die Direct3D-Runtime daher, dass der Fehler kritisch ist. Selbst wenn das Gerät entfernt wird, muss der Treiber nicht D3DDDIERR_DEVICEREMOVED zurückgeben. Wenn das Entfernen des Geräts jedoch den Vorgang von Dispatch beeinträchtigt (was normalerweise nicht erfolgen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Die Verteilung wird ab dem Windows 7-Betriebssystem unterstützt.
Zielplattform Desktop
Kopfzeile d3d10umddi.h (einschließlich D3d10umddi.h)

Weitere Informationen

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb