SV_GroupIndex
Der "vereinfachte" Index eines Compute-Shaderthreads innerhalb einer Threadgruppe, wodurch der mehrdimensionale SV_GroupThreadID in einen 1D-Wert umgewandelt wird. SV_GroupIndex variiert von 0 bis (numthreadsX * numthreadsY * numThreadsZ) – 1.
type
Typ |
---|
uint |
Bemerkungen
SV_GroupIndex = SV_GroupThreadID.z*dimx*dimy +
SV_GroupThreadID.y*dimx +
SV_GroupThreadID.x
Dabei sind dimx und dimy die Dimensionen, die im numthreads-Attribut für den Einstiegspunkt angegeben sind.
Dieser Systemwert ist optional. Durch seine Verwendung wird jedoch sichergestellt, dass ein Thread nur in den zugewiesenen Speicherbereich in der gruppenbasierten Variablen schreibt.
Die folgende Abbildung zeigt die Beziehung zwischen den parametern, die an ID3D11DeviceContext::D ispatch, Dispatch(5,3,2), den im numthreads-Attribut angegebenen Werten, numthreads(10,8,3) und Werten, die für die threadbezogenen Systemwerte (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID) an den Compute-Shader übergeben werden.
Diese Funktion wird in den folgenden Shadertypen unterstützt:
Scheitelpunkt | Hull | Domain | Geometrie | Pixel | Compute |
---|---|---|---|---|---|
x |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für