SV_GroupIndex

Index « aplatit » d’un thread de nuanceur de calcul au sein d’un groupe de threads, qui transforme le SV_GroupThreadID multidimensionnel en valeur 1D. SV_GroupIndex varie de 0 à (numthreadsX * numthreadsY * numThreadsZ) – 1.

Type

Type
uint

 

Notes

SV_GroupIndex = SV_GroupThreadID.z*dimx*dimy + 
                      SV_GroupThreadID.y*dimx + 
                      SV_GroupThreadID.x

où dimx et dimy sont les dimensions spécifiées dans l’attribut numthreads pour le point d’entrée.

Cette valeur système est facultative. Toutefois, son utilisation garantit qu’un thread écrit uniquement dans la région de mémoire qui lui a été attribuée dans la variable groupshared.

L’illustration suivante montre la relation entre les paramètres passés à ID3D11DeviceContext::D ispatch, Dispatch(5,3,2), les valeurs spécifiées dans l’attribut numthreads, numthreads(10,8,3) et les valeurs qui seront transmises au nuanceur de calcul pour les valeurs système liées au thread (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID).

illustration de la relation entre la répartition, les groupes de threads et les threads

Cette fonction est prise en charge dans les types de nuanceurs suivants :

Sommet Coque Domain Géométrie Pixel Compute
x

 

Voir aussi

Sémantique

Modèle de nuanceur 5