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) |