Freigeben über


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 beträgt 65535.

unnamedParam3

ThreadGroupCountY- [in]

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

unnamedParam4

ThreadGroupCountZ- [in]

Die Größe in Threadgruppen der Z-Dimension des Threadgruppenrasters. Die maximale Größe beträgt 65535.

Rückgabewert

Nichts

Bemerkungen

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

Die Direct3D-Laufzeit 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, ThreadGroupCountYund ThreadGroupCountZ) geben an, wie viele Threadgruppen ausgeführt werden sollen. Jede Threadgruppe enthält die gleiche Anzahl von Threads, wie vom kompilierten Compute-Shader definiert. Die Threadgruppen sind in einem dreidimensionalen Raster angeordnet. Die Gesamtanzahl der Threadgruppen, die der kompilierte Compute-Shader ausführt, wird durch die folgende Berechnung bestimmt:

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

Wenn einer der Werte in den Threadgruppenparametern 0 ist, führt die Dispatch--Funktion nichts aus.

Der Treiber sollte keinen Fehler haben, mit Ausnahme von D3DDDIERR_DEVICEREMOVED. Wenn der Treiber daher einen Fehler außer D3DDDIERR_DEVICEREMOVED übergibt, bestimmt die Direct3D-Laufzeit in einem Aufruf der pfnSetErrorCb--Funktion, dass der Fehler kritisch ist. Auch wenn das Gerät entfernt wird, ist der Treiber nicht erforderlich, um D3DDDIERR_DEVICEREMOVED zurückzugeben; Wenn die Geräteentfernung jedoch den Betrieb von Dispatch beeinträchtigt (was in der Regel nicht geschehen sollte), kann der Treiber D3DDDIERR_DEVICEREMOVED zurückgeben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Die Verteilerung wird beginnend mit dem Windows 7-Betriebssystem unterstützt.
Zielplattform- Desktop
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb