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::Dispatch に渡すパラメーター値 Dispatch(5,3,2)、numthreads 属性で指定する値 numthreads(10,8,3)、およびスレッド関連のシステム値 (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID) としてコンピュート シェーダーに渡す値との関係を示しています。
この関数は、次の種類のシェーダーでサポートされています。
頂点 | ハル | ドメイン | ジオメトリ | ピクセル | 演算 |
---|---|---|---|---|---|
x |