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).
Эта функция поддерживается в следующих типах шейдеров:
Вершина | Корпуса | Домен | Geometry | Пиксель | Вычисления |
---|---|---|---|---|---|
x |
См. также раздел