Condividi tramite


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

illustrazione della relazione tra dispatch, gruppi di thread e thread

Questa funzione è supportata nei tipi di shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
x

 

Vedi anche

Semantica

Modello shader 5