ID3D11DeviceContext::D ispatch 方法 (d3d11.h)
從線程群組執行命令清單。
語法
void Dispatch(
[in] UINT ThreadGroupCountX,
[in] UINT ThreadGroupCountY,
[in] UINT ThreadGroupCountZ
);
參數
[in] ThreadGroupCountX
類型: UINT
以 x 方向分派的群組數目。 ThreadGroupCountX 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。
[in] ThreadGroupCountY
類型: UINT
以 Y 方向分派的群組數目。 ThreadGroupCountY 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。
[in] ThreadGroupCountZ
類型: UINT
以 z 方向分派的群組數目。 ThreadGroupCountZ 必須小於或等於 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION (65535) 。 在功能層級 10 中, ThreadGroupCountZ 的值必須是 1。
傳回值
無
備註
您可以呼叫 Dispatch 方法,以在 計算著色器中執行命令。 計算著色器可以在線程群組內的許多線程上平行執行。 使用 (x,y,z) 指定的 3D 向量,為線程群組內的特定線程編製索引。
在下圖中,假設具有50個線程的線程群組,其中群組的大小是由 (5,5,5,2) 所指定。 使用向量 (4,1,1) ,從具有 50 個線程的線程群組識別單一線程。
下圖顯示傳遞至 ID3D11DeviceContext::D ispatch 的參數之間的關聯性。 分派 (5,3,2) 、numthreads 屬性中指定的值、numthreads (10,8,3) ,以及傳遞給線程相關系統值的計算著色器值, (SV_GroupIndex,SV_DispatchThreadIDSV_GroupThreadID,SV_GroupID) 。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d11.h |
程式庫 | D3D11.lib |