SV_GroupIndex
Indice "flat" di un thread dello shader di calcolo all'interno di un gruppo di thread, che trasforma il SV_GroupThreadID multidimensionale in un valore 1D. SV_GroupIndex varia da 0 a (numthreadsX * numthreadsY * numThreadsZ) - 1.
Tipo
Tipo |
---|
uint |
Commenti
SV_GroupIndex = SV_GroupThreadID.z*dimx*dimy +
SV_GroupThreadID.y*dimx +
SV_GroupThreadID.x
dove dimx e dimy sono le dimensioni specificate nell'attributo numthreads per il punto di ingresso.
Questo valore di sistema è facoltativo. Tuttavia, il suo uso garantisce che un thread scriva solo nell'area di memoria assegnata nella variabile groupshared.
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 al compute shader per i valori di sistema correlati al thread (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID).
Questa funzione è supportata nei tipi di shader seguenti:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
x |
Vedi anche