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).
Cette fonction est prise en charge dans les types de nuanceurs suivants :
Sommet | Coque | Domain | Géométrie | Pixel | Compute |
---|---|---|---|---|---|
x |
Voir aussi