Metodo ID3D11DeviceContext::D ispatch (d3d11.h)
Eseguire un elenco di comandi da un gruppo di thread.
Sintassi
void Dispatch(
[in] UINT ThreadGroupCountX,
[in] UINT ThreadGroupCountY,
[in] UINT ThreadGroupCountZ
);
Parametri
[in] ThreadGroupCountX
Tipo: UINT
Numero di gruppi inviati nella direzione x. ThreadGroupCountX deve essere minore o uguale a D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535).
[in] ThreadGroupCountY
Tipo: UINT
Numero di gruppi inviati nella direzione y. ThreadGroupCountY deve essere minore o uguale a D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535).
[in] ThreadGroupCountZ
Tipo: UINT
Numero di gruppi inviati nella direzione z. ThreadGroupCountZ deve essere minore o uguale a D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535). Nel livello di funzionalità 10 il valore per ThreadGroupCountZ deve essere 1.
Valore restituito
nessuno
Osservazioni
Chiamare il metodo Dispatch per eseguire i comandi in uno shader di calcolo. Un compute shader può essere eseguito in molti thread in parallelo, all'interno di un gruppo di thread. Indicizzare un thread specifico, all'interno di un gruppo di thread usando un vettore 3D specificato da (x,y,z).
Nella figura seguente si supponga che un gruppo di thread con 50 thread in cui le dimensioni del gruppo siano specificate da (5,5,2). Un singolo thread viene identificato da un gruppo di thread con 50 thread al suo interno, usando il vettore (4,1,1).
La figura seguente illustra la relazione tra i parametri passati a ID3D11DeviceContext::D ispatch, Dispatch(5,3,2), i valori specificati nell'attributo numthreads, numthreads(10,8,3) e i valori che verranno passati allo shader di calcolo per i valori di sistema correlati al thread (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID).
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d11.h |
Libreria | D3D11.lib |