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 属性中指定的维度。

此系统值是可选的。 但是,它的用法可确保线程仅写入其分配的组共享变量中的内存区域。

下图显示了传递给 ID3D11DeviceContext::D ispatch 的参数之间的关系, 调度 (5,3,2) , numthreads 属性中指定的值,numthreads (10,8,3) ,以及将传递给线程相关系统值的计算着色器的值 (SV_GroupIndex,SV_DispatchThreadIDSV_GroupThreadIDSV_GroupID) 。

调度、线程组和线程之间的关系图示

以下类型的着色器支持此函数:

顶点 外壳 Geometry 像素 计算
x

 

另请参阅

语义

着色器模型 5