SV_GroupIndex
スレッド グループ内のコンピューティング シェーダー スレッドの "フラット化" インデックス。これにより、多次元SV_GroupThreadIDが 1D 値に変換されます。 SV_GroupIndexは 0 から (numthreadsX * numthreadsY * numThreadsZ) – 1 に変化します。
種類
種類 |
---|
uint |
注釈
SV_GroupIndex = SV_GroupThreadID.z*dimx*dimy +
SV_GroupThreadID.y*dimx +
SV_GroupThreadID.x
dimx と dimy は、エントリ ポイントの numthreads 属性で指定されたディメンションです。
このシステム値は省略可能です。 ただし、その使用により、スレッドは groupshared 変数内の割り当てられたメモリ領域にのみ書き込まれます。
次の図は、ID3D11DeviceContext::D ispatch、Dispatch(5,3,2)、numthreads 属性で指定された値、numthreads(10,8,3)、スレッド関連のシステム値 (SV_GroupIndex、SV_DispatchThreadID、SV_GroupThreadID、SV_GroupID) の計算シェーダーに渡される値の関係を示しています。
この関数は、次の種類のシェーダーでサポートされています。
Vertex | Hull | Domain | ジオメトリ | ピクセル | Compute |
---|---|---|---|---|---|
x |
こちらもご覧ください