PFND3D11DDI_DISPATCH funzione di callback (d3d10umddi.h)

La funzione Dispatch esegue lo shader di calcolo.

Sintassi

PFND3D11DDI_DISPATCH Pfnd3d11ddiDispatch;

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

Parametri

unnamedParam1

hDevice [in]

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

ThreadGroupCountX [in]

Dimensioni, in gruppi di thread, della dimensione x della griglia del gruppo di thread. La dimensione massima è 65535.

unnamedParam3

ThreadGroupCountY [in]

Dimensioni, in gruppi di thread, della dimensione y della griglia del gruppo di thread. La dimensione massima è 65535.

unnamedParam4

ThreadGroupCountZ [in]

Dimensioni, in gruppi di thread, della dimensione z della griglia del gruppo di thread. La dimensione massima è 65535.

Valore restituito

nessuno

Osservazioni

Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.

Il runtime Direct3D chiama la funzione Dispatch del driver nel dispositivo di visualizzazione per eseguire lo shader di calcolo. Un compute shader compilato definisce il set di istruzioni da eseguire per thread e il numero di thread da eseguire per gruppo. I parametri del gruppo di thread (ThreadGroupCountX, ThreadGroupCountY e ThreadGroupCountZ) indicano il numero di gruppi di thread da eseguire. Ogni gruppo di thread contiene lo stesso numero di thread, come definito dallo shader di calcolo compilato. I gruppi di thread sono organizzati in una griglia tridimensionale. Il numero totale di gruppi di thread eseguiti dal compute shader compilato è determinato dal calcolo seguente:

ThreadGroupCountX * ThreadGroupCountY * ThreadGroupCountZ

In particolare, se uno dei valori nei parametri del gruppo di thread è 0, la funzione Dispatch non esegue alcuna operazione.

Il driver non deve riscontrare errori, ad eccezione di D3DDDIERR_DEVICEREMOVED. Pertanto, se il driver passa qualsiasi errore, ad eccezione di D3DDDIERR_DEVICEREMOVED, in una chiamata alla funzione pfnSetErrorCb , il runtime Direct3D determina che l'errore è critico. Anche se il dispositivo viene rimosso, il driver non è necessario per restituire D3DDDIERR_DEVICEREMOVED; tuttavia, se la rimozione del dispositivo interferisce con l'operazione di Dispatch (che in genere non deve verificarsi), il driver può restituire D3DDDIERR_DEVICEREMOVED.

Requisiti

Requisito Valore
Client minimo supportato Dispatch è supportato a partire dal sistema operativo Windows 7.
Piattaforma di destinazione Desktop
Intestazione d3d10umddi.h (include D3d10umddi.h)

Vedi anche

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb